////////////////////&copy 2004 Jim Atkins webadmin@jbatkins.com
/////////////////free for personnal use and distributation as long as this &copy header stays in place
////see help file
////////////////////////declare some globals
var keeppow="";
var keeppowstate="";
var mpluskey="false";
var CENpLAc=0;
var begdec1="";
var begdec2="";
var decisplaced="false";
var keepupWdec="";
var reversedec="false";
var decpass="false";
var Twholreis="";
var reis="";
var point=".";
var decreis="";
var decplaces=5;
var decimalmode="false";
var product="false";
var setmem="false";
var scrsz="false";
var mark1="";
var mapp="";
var trip="";
var holderadd="";
var holderaddlgth="";
var checkforsize="false"
var state="false"
var grid0=new Array()
var grid1=new Array()
var grid2=new Array()
var grid3=new Array()
var grid4=new Array()
var grid5=new Array()
var grid6=new Array()
var grid7=new Array()
var grid8=new Array()
var grid9=new Array()
var grid10=new Array()
var matrixstr ="abcdefghij";
var matrixt =  new Array("a","b","c","d","e","f","g","h","i","j");
var matrix =  new Array("a","b","c","d","e","f","g","h","i","j","ba","bb","bc","bd","be","bf","bg","bh","bi","bj");
var Convstr="0123456789";
///////////////////////start matrix
for (i=0; i<=10; i++){
   mapp=matrixt[i]+matrixt[0];
   grid0[i]=mapp
   mapp=matrixt[i]+matrixt[1];
   grid1[i]=mapp
   mapp=matrixt[i]+matrixt[2];
   grid2[i]=mapp
   mapp=matrixt[i]+matrixt[3];
   grid3[i]=mapp
   mapp=matrixt[i]+matrixt[4];
   grid4[i]=mapp
   mapp=matrixt[i]+matrixt[5];
   grid5[i]=mapp
   mapp=matrixt[i]+matrixt[6];
   grid6[i]=mapp
   mapp=matrixt[i]+matrixt[7];
   grid7[i]=mapp
   mapp=matrixt[i]+matrixt[8];
   grid8[i]=mapp
   mapp=matrixt[i]+matrixt[9];
   grid9[i]=mapp
   mapp=matrixt[i]+matrixt[10];
   grid10[i]=mapp
   
}
/////////////////////////////////////////end matrix
//////////////////////////////////func to build arrays
function mappmatrix(test){
   //////////////////////////////////start run1
   for (i=0; i<=10; i++){
      if (test == grid0[i]){
         mark1=matrix[i]
      }
      if (test == grid1[i]){
         mark1=matrix[i+1]
      }
      if (test == grid2[i]){
         mark1=matrix[i+2]
      }
      if (test== grid3[i]){
         mark1=matrix[i+3]
      }
      if (test== grid4[i]){
         mark1=matrix[i+4]
      }
      if (test == grid5[i]){
         mark1=matrix[i+5]
      }
      if (test == grid6[i]){
         mark1=matrix[i+6]
      }
      if (test == grid7[i]){
         mark1=matrix[i+7]
      }
      if (test == grid8[i]){
         mark1=matrix[i+8]
      }
      if (test == grid9[i]){
         mark1=matrix[i+9]
      }
      if (test== grid10[i]){
         mark1=matrix[i+10]
      }
   }
   //////////////////////////////////end run1
   return(mark1);
}
////////////////////////////////end func
function ConvBack(){                    /////////////////func start number convert
   var strconv=document.inp.inp1.value;
   var strlgth=strconv.length;
   var conlgth=Convstr.length;
   var siglet='';
   var sig='';
   var contnum='';
   var cap="";
   for (i=strlgth-1; i>=0; i--){
      sig=strconv.charAt(i)
      siglet=Convstr.indexOf(sig)
      cap=matrixstr.charAt(sig)
      contnum=cap+contnum
      document.inp.inp1.value=contnum
   }
   var strconv=document.inp.inp2.value;
   var strlgth=strconv.length;
   var conlgth=Convstr.length;
   var siglet='';
   var sig='';
   var cap="";
   var contnum='';
   for (i=strlgth-1; i>=0; i--){
      sig=strconv.charAt(i)
      siglet=Convstr.indexOf(sig)
      cap=matrixstr.charAt(sig)
      contnum=cap+contnum
      document.inp.inp2.value=contnum
   }
   return;
}                                      //////////////function end
function divConv(){     /////////////////func start
   
   var strconv=document.inp.inp0.value;
   var strlgth=strconv.length;
   var conlgth=matrixstr.length;
   var siglet='';
   var sig='';
   var contnum='';
   for (i=strlgth-1; i>=0; i--){      /////////////////////cond1
      sig=strconv.charAt(i)
      siglet=matrixstr.indexOf(sig)
      contnum=siglet+contnum
      document.inp.inp0.value=contnum
   }
   var rmsiglet='';
   var rmsig='';                                  ////////////////cond1 end
   var rmcontnum='';
   var strconvrm=document.inp.reman.value;
   var strlgthrm=strconvrm.length;
   for (i=strlgthrm-1; i>=0; i--){      /////////////////////cond1
      rmsig=strconvrm.charAt(i)
      rmsiglet=matrixstr.indexOf(rmsig)
      rmcontnum=rmsiglet+rmcontnum
      if(rmcontnum>0){
         document.inp.reman.value=rmcontnum
      }
   }                                    ////////////////cond1 end
}                                      //////////////function end
function Conv(){                            /////////////////func to convert at end of math
   var strconv=document.inp.inp0.value;
   var strlgth=strconv.length;
   var conlgth=matrixstr.length;
   var siglet='';
   var sig='';
   var contnum='';
   for (i=strlgth-1; i>=0; i--){
      sig=strconv.charAt(i)
      siglet=matrixstr.indexOf(sig)
      contnum=siglet+contnum
      document.inp.inp0.value=contnum
   }
}                                      //////////////function end

function start(){                               //////////////calls the math function chosen
   
   trip=document.inp.inp3.value;
   if(trip=="GCD"){return;}
   if(trip=="pow"){fractionmode="false"}
   if(trip=="div"){
      if (checkforsize=="false"){
         /////////////////////////////////////////////lets see if we have to turn into fraction
         divCHeck();
         if (checkforsize=="true"){
            return;
         }
      }
   }
   if (fractionmode=="true"){
      if (document.inp.inp1.value==""||document.inp.inp2.value==""){
         alert("Please enter number before selecting this function")
         return;
      }
      fracfunc=trip;
      display1()
      setTimeout("fractioncontrol()", 1);
      return;
   }
   trip=document.inp.inp3.value
   if (trip=="plus"){
      display1()
      setTimeout("Alphacalcplus()", 1);
   }
   if (trip=="minus"){
      display1()
      setTimeout("Alphacalcminus()", 1);
   }
   if (trip=="times"){
      display1()
      setTimeout("Alphacalctimes()", 1);
   }
   if (trip=="div"){
      display1()
      setTimeout("DrillD()", 1);
   }
   if (trip=="pow"){
      display1()
      setTimeout("powcalc()", 1);
   }
}                                                    ///////////////////end
//////////////    series of functions for number sets and math functions
function placedec(){
   if(decimalmode=="false"){
      alert("You can't do that in standard mode. Please choose decimal mode");
      return;
   }
   if(decisplaced=="true"){
      alert("You can't do that!");
      return;
   }
   
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="."
   decisplaced="true";
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function zero(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="0"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function one(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="1"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function two(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="2"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function three(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="3"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function four(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="4"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function five(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="5"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function six(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="6"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function seven(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="7"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function eight(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="8"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function nine(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   var holder="9"
   holderadd=document.inp.inp0.value
   document.inp.inp0.value=holderadd+holder
   writeAns();
}
function clr(){
   document.inp.inp0.value=""
   document.inp.reman.value="0"
   
   filIn();
   writeAns();
}
function bk(){
   holderadd=document.inp.inp0.value
   holderaddlgth=holderadd.length
   holderadd=holderadd.substring(0,holderaddlgth-1)
   document.inp.inp0.value=holderadd
   holderadd=document.inp.inp0.value
   filIn();
   writeAns();
}
function clearvar(){
   decisplaced="false";
   wholpladd="false";
   decpass="false";
   Twholreis="";
   reis="";
   point=".";
   decreis="";
   decplaces=5;
   product="false";
   setmem="false";
   mark1="";
   mapp="";
   checkforsize="false"
   PRMdiv="false";
   oddend="false";
   isnotodd="false";
   trible="false";
   stmpm="false";
   wholepls="false";
   flip="false";
   lcnTrip="false";
   fracctrl="false";
   stmpmDIV="false"
}
function clrE(){
   document.inp.inp0.value="";
   document.inp.reman.value="";
   document.inp.inp1.value="";
   document.inp.inp2.value="";
   document.inp.inp3.value="";
   mpluskey="false";
   CENpLAc=0;
   begdec1="";
   begdec2="";
   decpass="false";
   decisplaced="false";
   wholpladd="false";
   reversedec="false";
   keepupWdec="";
   Twholreis="";
   point=".";
   reis="";
   decreis="";
   decplaces=5;
   decimalmode="false";
   product="false";
   setmem="false";
   scrsz="false";
   mark1="";
   mapp="";
   trip="";
   holderadd="";
   holderaddlgth="";
   checkforsize="false"
   state="false"
   PRMdiv="false";
   oddend="false";
   isnotodd="false";
   trible="false";
   stmpm="false";
   getlcd="false";
   fractionmode="false";
   startfrac="false";
   wholepls="false";
   placeone="true";
   placetwo="false";
   flip="false";
   lcnTrip="false";
   fracctrl="false";
   fracfunc="";
   stmpmDIV="false"
   maxtry="";
   filIn();
   writeAns();
   var layer5 = document.getElementById("div4");
   var CHa1='Standard';
   layer5.innerHTML = CHa1;
   POSprm="false"; 
}
function clrm(){
   document.inp.inp4.value=""
}
function plus(){
   holderadd=document.inp.inp0.value
   document.inp.inp1.value=holderadd
   document.inp.inp0.value=""
   document.inp.inp3.value="plus"
   writeAns();
   clearvar();
}
function sub(){
   holderadd=document.inp.inp0.value
   document.inp.inp1.value=holderadd
   document.inp.inp0.value=""
   document.inp.inp3.value="minus"
   writeAns();
   clearvar();
}

function equals(){
   holderadd=document.inp.inp0.value
   document.inp.inp2.value=holderadd
   if (holderadd=="0"&&document.inp.inp3.value=="div"){
      alert('Can Not Divide By Zero')
      return;
   }
   ////////////////////////////////////////////////////////////////////////////////////////////////////////
   if (decimalmode=="true"){
     //////////////////take out the neg for now
      negck=""
      dig1negck="false"
      dig2negck="false"
      var dig1=document.inp.inp1.value;
      var dig2=document.inp.inp2.value;
      var tlgth=dig1.length;
      var rlgth=dig2.length;
      negck=dig1.charAt(0);
      if (negck=="-"){
         dig1negck="true"
         document.inp.inp1.value=dig1.substring(1,tlgth)
      }
      negck=dig2.charAt(0);
      if (negck=="-"){
         dig2negck="true"
         document.inp.inp2.value=dig2.substring(1,rlgth)
      }
      keeppow=dig1;
      //////////////////////////////////////
      var finddec=document.inp.inp1.value;
      var wholedeclgth1=finddec.length;
      begdec1=finddec.indexOf(".");
      if(begdec1!=-1){
         var tdec=finddec.substring(begdec1+1,wholedeclgth1);
         var tdeclgth=tdec.length;
         while(tdec.charAt(0)=="0"&&begdec1==0){
            tdec=tdec.substring(1,tdeclgth)
            }
         holderadd=finddec.substring(0,begdec1);
         holderadd=holderadd+tdec;
         wholedeclgth1=holderadd.length;
         while(holderadd.charAt(wholedeclgth1-1)=="0"){
            if (wholedeclgth1-1==begdec1-1){
            break;
            }
            var tdeclgth=tdeclgth-1;
            holderadd=holderadd.substring(0,wholedeclgth1-1)
            wholedeclgth1=holderadd.length;
         }
         wholedeclgth1=holderadd.length;
         document.inp.inp1.value=holderadd;
      }
      var finddec=document.inp.inp2.value;
      var wholedeclgth2=finddec.length;
      begdec2=finddec.indexOf(".");
      if(begdec2!=-1){
         var tdec=finddec.substring(begdec2+1,wholedeclgth2);
         var tdeclgth2=tdec.length;
         while(tdec.charAt(0)=="0"&&begdec2==0){
            tdec=tdec.substring(1,tdeclgth2)
            }
         holderadd=finddec.substring(0,begdec2);
         holderadd=holderadd+tdec;
         wholedeclgth2=holderadd.length;
         while(holderadd.charAt(wholedeclgth2-1)=="0"){
            if (wholedeclgth2-1==begdec2-1){
            break;
            }
            var tdeclgth2=tdeclgth2-1;
            holderadd=holderadd.substring(0,wholedeclgth2-1)
            wholedeclgth2=holderadd.length;
         }
         wholedeclgth2=holderadd.length;
         document.inp.inp2.value=holderadd;
      }
    
      ////////////////////////lets keep track of decimal places globally with CENpLAc
      ////////////////////////////////////////these routines adjust for div
      if(document.inp.inp3.value=="pow"&&begdec2>=0){
         alert('Use only whole numbers to raise a fraction to a number of powers')
         return;
      }
      
      if(begdec1==-1&&begdec2>=0){
         for(i=tdeclgth2; i>0; i--){
            if(document.inp.inp3.value=="plus"||document.inp.inp3.value=="minus"||document.inp.inp3.value=="div"){
               holderadd=document.inp.inp1.value;
               holderadd=holderadd+"0";
               
               document.inp.inp1.value=holderadd;
            }
            tdeclgth=0;
            CENpLAc=tdeclgth2;
         }
      }
      
      if(begdec2==-1&&begdec1>=0){
         for(i=tdeclgth; i>0; i--){
            if(document.inp.inp3.value=="plus"||document.inp.inp3.value=="minus"||document.inp.inp3.value=="div"){
               holderadd=document.inp.inp2.value;
               
               holderadd=holderadd+"0";
               
               document.inp.inp2.value=holderadd;
            }
            tdeclgth2=0;
            CENpLAc=tdeclgth;
         }
         
      }
      //////////////////////////////////////////////////////////////////////////////
      if (tdeclgth>tdeclgth2&&begdec2!=-1){
         var tdeclgthtot=tdeclgth-tdeclgth2
         for(i=tdeclgthtot; i>0; i--){
            holderadd=document.inp.inp2.value;
            if(document.inp.inp3.value=="plus"||document.inp.inp3.value=="minus"||document.inp.inp3.value=="div"){
               holderadd=holderadd+"0";
            }
            document.inp.inp2.value=holderadd;
            CENpLAc=tdeclgth;
         }
      }
      if (tdeclgth<tdeclgth2&&begdec1!=-1){
         var tdeclgthtot=tdeclgth2-tdeclgth
         for(i=tdeclgthtot; i>0; i--){
            holderadd=document.inp.inp1.value;
            if(document.inp.inp3.value=="plus"||document.inp.inp3.value=="minus"||document.inp.inp3.value=="div"){
               holderadd=holderadd+"0";
            }
            document.inp.inp1.value=holderadd;
            CENpLAc=tdeclgth2;
         }
      }
      
      if (document.inp.inp3.value=="pow"){
         tdeclgth2=tdeclgth;
      }
      if (tdeclgth==tdeclgth2){
         CENpLAc=tdeclgth;
      }
      if (document.inp.inp3.value=="times"||document.inp.inp3.value=="pow"){
         CENpLAc=tdeclgth2+tdeclgth
      
            if (begdec1==-1 && begdec2==-1){
                CENpLAc=0;
        }
      }
      
      if(dig1negck=="true"){
         var dig1=document.inp.inp1.value;
         document.inp.inp1.value ="-"+dig1;
      }
      if(dig2negck=="true"){
         var dig2=document.inp.inp2.value;
         document.inp.inp2.value="-"+dig2;
      }
      
   }
   
 ////document.write(document.inp.inp2.value+"..."+document.inp.inp1.value+"..."+CENpLAc+"..."+tdeclgth2)
   /////////////////////////////////////////////////////////////////////////////////////////////////////////
   document.inp.inp0.value=""
   state="true"
   filIn();
   start();
 }                                                      ////////////////////////calls start function
function times(){
   holderadd=document.inp.inp0.value
   document.inp.inp1.value=holderadd
   document.inp.inp0.value=""
   document.inp.inp3.value="times"
   writeAns();
   clearvar();
}
function div(){
   holderadd=document.inp.inp0.value
   document.inp.inp1.value=holderadd
   document.inp.inp0.value=""
   document.inp.inp3.value="div"
   writeAns();
   clearvar();
}
function mplus(){
   mpluskey="true";
   holderadd=document.inp.inp0.value;
   document.inp.inp1.value=document.inp.inp4.value;
   document.inp.inp2.value=holderadd;
   document.inp.inp3.value="plus";
   var dig1=document.inp.inp4.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   var begfrac1=dig1.indexOf("/");
   var begfrac2=dig2.indexOf("/");
   var begfrac1dec=dig1.indexOf(".");
   var begfrac2dec=dig2.indexOf(".");
   if (begfrac1dec>=0||begfrac2dec>=0){
      if(begfrac1>0||begfrac2>0){
         alert("Can't add decimals to fractions")
         return;
      }
      decimalmode="true";   
       equals()
   }
   if (begfrac1>0||begfrac2>0){
      if(begfrac1dec>=0||begfrac2dec>=0){
         alert("Can't add fractions to decimals")
         return;
      }
      setmem="true"
      fracfunc=document.inp.inp3.value;
      display1()
      setTimeout("fractioncontrol()", 1)
   }
else
   if(begfrac1<0&&begfrac2<0&&begfrac1dec<0&&begfrac2dec<0){
      Alphacalcplus();
   }
   document.inp.inp4.value=document.inp.inp0.value
   document.inp.inp0.value=''
   decisplaced="false";
   writeAns();
}
function mminus(){
   mpluskey="true";
   holderadd=document.inp.inp0.value
   document.inp.inp1.value=document.inp.inp4.value
   document.inp.inp2.value=holderadd
   document.inp.inp3.value="minus"
   var dig1=document.inp.inp4.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   var begfrac1=dig1.indexOf("/");
   var begfrac2=dig2.indexOf("/");
   var begfrac1dec=dig1.indexOf(".");
   var begfrac2dec=dig2.indexOf(".");
   if (begfrac1dec>=0||begfrac2dec>=0){
      if(begfrac1>0||begfrac2>0){
         alert("Can't subtract decimals from fractions")
         return;
      }
      decimalmode="true";   
       equals()
   }
   if (begfrac1>0||begfrac2>0){
      if(begfrac1dec>=0||begfrac2dec>=0){
         alert("Can't subtract fractions from decimals")
         return;
      }
      setmem="true"
      fracfunc=document.inp.inp3.value;
      display1()
      setTimeout("fractioncontrol()", 1)
   }
   if(begfrac1<0&&begfrac2<0&&begfrac1dec<0&&begfrac2dec<0){
     Alphacalcminus();
   }
   document.inp.inp4.value=document.inp.inp0.value
   document.inp.inp0.value=''
   decisplaced="false";
   writeAns();
}
function mrecall(){
   document.inp.inp0.value=document.inp.inp4.value
   writeAns();
}
function pow(){
   holderaddpow=document.inp.inp0.value
   document.inp.inp1.value=holderaddpow
   document.inp.inp0.value=""
   document.inp.inp3.value="pow"
   decisplaced="false"
   writeAns();
}
function powcalc(){
   
   if (document.inp.inp1.value==""||document.inp.inp2.value==""){
      alert("Please enter number before selecting this function")
      return;
   }
   document.inp.inp3.value="times"
   var prim=document.inp.inp1.value
   var pownum=document.inp.inp2.value
   document.inp.inp2.value=prim
   if(pownum=="0"){
      //////////////////////////////////////quick out on accepted math fact who am I to debate
      document.inp.inp0.value="1"
      writeAns();
      display2();
      return;
   }
   if(prim=="0"){
      //////////////////////////////////////quick out on accepted math fact who am I to debate
      document.inp.inp0.value="0"
      writeAns();
      display2();
      return;
   }
   var dig1=document.inp.inp1.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   var begfrac1=dig1.indexOf("/");
   var begfrac2=dig2.indexOf("/");
   if (begfrac1>0||begfrac2>0){
      for (pi=1; pi<pownum; pi++){
         fracfunc="times";
         display1()
         fractioncontrol()
         document.inp.inp2.value=document.inp.inp0.value
         document.inp.inp1.value=prim
      }
      writeAns();
   }
   else{
      for (pi=1; pi<pownum; pi++){
         display1();
         Alphacalctimes()
         document.inp.inp2.value=document.inp.inp0.value
         document.inp.inp1.value=prim
         ///////////////////////////////////////////////////////////////////////////////////
           if (decimalmode=="true"){
            document.inp.inp1.value=keeppow;
            var finddec=document.inp.inp1.value;
            var wholedeclgth1=finddec.length;
            begdec1=finddec.indexOf(".");
            if(begdec1!=-1){
               var tdec=finddec.substring(begdec1+1,wholedeclgth1);
               var tdeclgth=tdec.length;
               holderadd=finddec.substring(0,begdec1);
               holderadd=holderadd+tdec;
               wholedeclgth1=holderadd.length;
               if(document.inp.inp3.value!="pow"||document.inp.inp3.value!="times"){
                  while(holderadd.charAt(wholedeclgth1-1)=="0"){
                     var tdeclgth=tdeclgth-1;
                     holderadd=holderadd.substring(0,wholedeclgth1-1)
                     wholedeclgth1=holderadd.length;
                  }
               }
               wholedeclgth1=holderadd.length;
               document.inp.inp1.value=holderadd;
            }
            var finddec=document.inp.inp2.value;
            var wholedeclgth2=finddec.length;
            begdec2=finddec.indexOf(".");
            if(begdec2!=-1){
               var tdec=finddec.substring(begdec2+1,wholedeclgth2);
               var tdeclgth2=tdec.length;
               holderadd=finddec.substring(0,begdec2);
               holderadd=holderadd+tdec;
               wholedeclgth2=holderadd.length;
               if(document.inp.inp3.value!="pow"||document.inp.inp3.value!="times"){
                  while(holderadd.charAt(wholedeclgth2-1)=="0"){
                     var tdeclgth2=tdeclgth2-1;
                     holderadd=holderadd.substring(0,wholedeclgth2-1)
                     wholedeclgth2=holderadd.length;
                  }
               }
               wholedeclgth2=holderadd.length;
               document.inp.inp2.value=holderadd;
               
            }
            CENpLAc=tdeclgth+tdeclgth2
            
         }
         
         ////////////////////////////////////////////////////////////////////////////////////
      }
      writeAns();
   }
   
}
function neg(){
   if (state=="true"){
      document.inp.inp0.value=""
      state="false"
   }
   if(document.inp.inp0.value==""){
      var holder="-"
      holderadd=document.inp.inp0.value
      document.inp.inp0.value=holderadd+holder
      holderadd=document.inp.inp0.value
   }
   else if (document.inp.inp0.value!=""&&holderadd.charAt(0)!="-"){
      var holder="-"
      holderadd=document.inp.inp0.value
      document.inp.inp0.value=holder+holderadd
      holderadd=document.inp.inp0.value
   }
   else if (document.inp.inp0.value!=""&&holderadd.charAt(0)=="-"){
      holderadd=document.inp.inp0.value
      holderaddlgth=holderadd.length
      holderadd=holderadd.substring(1,holderaddlgth)
      document.inp.inp0.value=holderadd
      holderadd=document.inp.inp0.value
   }
   writeAns();
} /////////////////////end
///////////////////////////////////////////////////////////////////////////////////start math functions
function Alphacalcplus(){                           ////////////////start main for plus
   ////////////////////////////////////////////////////////////////////////////////////////
   var product="false"    ///////true is dig1 is larger
   function lgthfind3(){
      var sme="false"
      product="false"    ///////true is dig1 is larger
      lmdig1=dig1.length
      lmdig2=dig2.length
      if(lmdig2<lmdig1){
         product="true"
         return;
      }
      if(lmdig2>lmdig1){
         product="false"
         return;
      }
      if (lmdig1==lmdig2){
         var Sme="false"
         qw=0;
         wtabu=0;
         wtabu1=0;
         var Ovlf=0;
         var Ovrt=0;
         for(ute=lmdig1-1; ute>=0; ute--){
            Ovlf=matrixstr.indexOf(dig2.charAt(qw))
            Ovrt=matrixstr.indexOf(dig1.charAt(qw))
            wadutn=parseInt(Ovlf);
            wadutn1=parseInt(Ovrt);
            if(wadutn>wadutn1&&qw==0){
               product="false"
               return;
            }
            if(wadutn<wadutn1&&qw==0){
               product="true"
               return;
            }
            if(Sme=="true"&&wadutn>wadutn1){
               product="false"
               return;
            }
            if(Sme=="true"&&wadutn<wadutn1){
               product="true"
               return;
            }
            if(wadutn==wadutn1){
               Sme="true"
            }
            else{
               Sme="false"
            }
            qw++
         }
      }
      return;
   }
   
   ////////////////////////////////////////////////////////////////////////////////
   negck=""
   dig1negck="false"
   dig2negck="false"
   var dig1=document.inp.inp1.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   negck=dig1.charAt(0);
   if (negck=="-"){
      dig1negck="true"
      document.inp.inp1.value=dig1.substring(1,tlgth)
   }
   negck=dig2.charAt(0);
   if (negck=="-"){
      dig2negck="true"
      document.inp.inp2.value=dig2.substring(1,rlgth)
   }
   if (document.inp.inp3.value=="plus"){
      ConvBack();
   }
   var trace=false;
   var Turnstring='';
   var carry='';
   var act='';
   var markcol='';
   var mark2='';
   var test="fh";
   dig1=document.inp.inp1.value;
   dig2=document.inp.inp2.value;
   tlgth=dig1.length;
   rlgth=dig2.length;
   lgthfind3()
   
   while(rlgth>tlgth){
      if(rlgth>tlgth){
         dig1="a"+dig1
         var tlgth=dig1.length;
         var rlgth=dig2.length;
      }
   }
   while(rlgth<tlgth){
      if(rlgth<tlgth){
         dig2="a"+dig2
         var tlgth=dig1.length;
         var rlgth=dig2.length;
      }
   }
   
   if(dig1negck=="false"&&dig2negck=="false"||dig1negck=="true"&&dig2negck=="true"){
      
      var lbar='';
      var rbar='';
      var test1=dig1;
      var test2=dig2;
      var tmpdig='';
      var carryon='false';
      var jup='false'
      if (tlgth>0){                     ////check2 and start
         var cnt=0;
         for (lim=tlgth-1; lim>=0; lim--){ /////run
            lbar=test1.charAt(lim)
            rbar=test2.charAt(lim)
            if (trace==true&&lbar=="j"){                    //////////ck 7
               lbar="a";
               carryon='true'
               jup='true'
            }                           ////////////////end ck7
            if (trace==true&&lbar!="j"&&jup=='false'){                    //////////ck 5
               carry=matrixstr.indexOf(lbar);
               lbar=matrixstr.charAt(carry+1);
            }                           ////////////////end ck5
            trace=false;
            mark2=lbar+rbar
            mappmatrix(mark2)
            mark2=mark1;
            if (carryon=='true'){
               mark2='b'+mark2
               carryon='false'
            }
            jup='false'
            tmpdig=test1
            if (mark2.length>1&&lim!=0){ /////ck6
               mark2=mark2.charAt(1)
               if (lim!=0){                 ///////////ck7
                  trace=true;
               }                            ////end ck6
            }                          ///////////end ck7
            
            cnt++
            markcol=mark2+markcol;
            document.inp.inp0.value=markcol
         }                             ////////////////////end run
      }                                ///////////end ck2 and start
      var marklgth=markcol.length
      while (markcol.charAt(0)=="a"){
         markcol=markcol.substring(1,marklgth)
      }
   }
   if(dig1negck=="true"&&dig2negck=="false"||dig1negck=="false"&&dig2negck=="true"){
      if (product=="true"){
         document.inp.inp1.value=dig1
         document.inp.inp2.value=dig2
         Alphacalcminus();
      }
      if (product=="false"){
         document.inp.inp1.value=dig2
         document.inp.inp2.value=dig1
         Alphacalcminus();
      }
   }
   if (document.inp.inp3.value=="plus"){
      Conv();
      if(decimalmode=="true"){
         var placedecimal=document.inp.inp0.value;
         var placedecimallgth=placedecimal.length;
         var sec1=placedecimal.substring(0, placedecimallgth-CENpLAc);
         var sec1lgth=sec1.length;
         var sec2=placedecimal.substring(sec1lgth, placedecimallgth);
         document.inp.inp0.value=sec1+"."+sec2;
         if(mpluskey=="true"){
            document.inp.inp4.value=document.inp.inp0.value;
            display2();
            mpluskey="false";
            return;
         }
      }
      if(dig1negck=="true"&&product=="true"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      
      if(dig2negck=="true"&&product=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      
      display2();
      writeAns();
   }
}                                      /////////////////////end main for plus

function Alphacalcminus(){                 ////////////////start main for minus
   /////////////////////////////////////////////////////////////////////////////////////////

   var product="false"    ///////true is dig1 is larger
   function lgthfind3(){
      var sme="false"
      product="false"    ///////true is dig1 is larger
      lmdig1=dig1.length
      lmdig2=dig2.length
      
      if(lmdig2<lmdig1){
         product="true"
         return;
      }
      
      if(lmdig2>lmdig1){
         product="false"
         return;
      }
      if (lmdig1==lmdig2){
         var Sme="false"
         qw=0;
         wtabu=0;
         wtabu1=0;
         var Ovlf=0;
         var Ovrt=0;
         for(ute=lmdig1-1; ute>=0; ute--){
            Ovlf=matrixstr.indexOf(dig2.charAt(qw))
            Ovrt=matrixstr.indexOf(dig1.charAt(qw))
            wadutn=parseInt(Ovlf);
            wadutn1=parseInt(Ovrt);
            if(wadutn>wadutn1&&qw==0){
               product="false"
               return;
            }
            if(wadutn<wadutn1&&qw==0){
               product="true"
               return;
            }
            if(Sme=="true"&&wadutn>wadutn1){
               product="false"
               return;
            }
            if(Sme=="true"&&wadutn<wadutn1){
               product="true"
               return;
            }
            if(wadutn==wadutn1){
               Sme="true"
            }
            else{
               Sme="false"
            }
            qw++
         }
      }
      return;
   }
   ////////////////////////////////////////////////////////////////////////////////
   negck=""
   dig1negck="false"
   dig2negck="false"
   var dig1=document.inp.inp1.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   negck=dig1.charAt(0);
   if (negck=="-"){
      dig1negck="true"
      document.inp.inp1.value=dig1.substring(1,tlgth)
   }
   negck=dig2.charAt(0);
   if (negck=="-"){
      dig2negck="true"
      document.inp.inp2.value=dig2.substring(1,rlgth)
   }
   if (document.inp.inp3.value=="minus"){
      ConvBack();
   }
   var trace=false;
   var Turnstring='';
   var carry='';
   var act='';
   var markcol='';
   var mark2='';
   var test="fh";
   dig1=document.inp.inp1.value;
   dig2=document.inp.inp2.value;
   tlgth=dig1.length;
   rlgth=dig2.length;
   lgthfind3()
   while(rlgth>tlgth){
      if(rlgth>tlgth){
         dig1="a"+dig1
         var tlgth=dig1.length;
         var rlgth=dig2.length;
      }
   }
   while(rlgth<tlgth){
      if(rlgth<tlgth){
         dig2="a"+dig2
         var tlgth=dig1.length;
         var rlgth=dig2.length;
      }
   }
   ////////////////////////////////////////////////////////////////////////////////////
   ///////////////////////start matrix
   function mappmatrixminus(test){             /////////////func for subtraction
      
      for (i=0; i<=10; i++){
         if (test == grid0[i]){
            mark1=matrix[i]
         }
         if (test == grid1[i]){
            mark1=matrix[i-1]
         }
         if (test == grid2[i]){
            mark1=matrix[i-2]
         }
         if (test == grid3[i]){
            mark1=matrix[i-3]
         }
         if (test == grid4[i]){
            mark1=matrix[i-4]
         }
         if (test == grid5[i]){
            mark1=matrix[i-5]
         }
         if (test == grid6[i]){
            mark1=matrix[i-6]
         }
         if (test == grid7[i]){
            mark1=matrix[i-7]
         }
         if (test == grid8[i]){
            mark1=matrix[i-8]
         }
         if (test == grid9[i]){
            mark1=matrix[i-9]
         }
         if (test == grid10[i]){
            mark1=matrix[i-10]
         }
      }
      mark2=mark1;
      return;
   }
   ////////////end func
   function mappmatrixcrryovr(test){              //////////////////////////func for carryover routine
      ///////////////////////start matrix
      var cogrid0=new Array()
      var cogrid1=new Array()
      var cogrid2=new Array()
      var cogrid3=new Array()
      var cogrid4=new Array()
      var cogrid5=new Array()
      var cogrid6=new Array()
      var cogrid7=new Array()
      var cogrid8=new Array()
      var cogrid9=new Array()
      var cogrid10=new Array()
      var matrixtcrryovr= 'jihgfedcba';
      var comatrix= new Array("ba","bb","bc","bd","be","bf","bg","bh","bi","bj")
      for (i=0; i<=9; i++){
         mapp=matrixt[0]+matrixtcrryovr.charAt(i);                       ///////////////////matrix set
         cogrid0[i]=mapp
         mapp=matrixt[1]+matrixtcrryovr.charAt(i);
         cogrid1[i]=mapp
         mapp=matrixt[2]+matrixtcrryovr.charAt(i);
         cogrid2[i]=mapp
         mapp=matrixt[3]+matrixtcrryovr.charAt(i);
         cogrid3[i]=mapp
         mapp=matrixt[4]+matrixtcrryovr.charAt(i);
         cogrid4[i]=mapp
         mapp=matrixt[5]+matrixtcrryovr.charAt(i);
         cogrid5[i]=mapp
         mapp=matrixt[6]+matrixtcrryovr.charAt(i);
         cogrid6[i]=mapp
         mapp=matrixt[7]+matrixtcrryovr.charAt(i);
         cogrid7[i]=mapp
         mapp=matrixt[8]+matrixtcrryovr.charAt(i);
         cogrid8[i]=mapp
         mapp=matrixt[9]+matrixtcrryovr.charAt(i);
         cogrid9[i]=mapp
         
      }                                            ////////////////////////end matrix
      
      var got=0;
      while (got<=9){
         if (test == cogrid0[got]){
            mark1=comatrix[got]
            mark2=mark1
            return;
         }
         if (test == cogrid1[got]){
            mark1=comatrix[got+1]
            mark2=mark1
            return;
         }
         if (test == cogrid2[got]){
            mark1=comatrix[got+2]
            mark2=mark1
            return;
         }
         if (test == cogrid3[got]){
            mark1=comatrix[got+3]
            mark2=mark1
            return;
         }
         if (test == cogrid4[got]){
            mark1=comatrix[got+4]
            mark2=mark1
            return;
         }
         if (test == cogrid5[got]){
            mark1=comatrix[got+5]
            mark2=mark1
            return;
         }
         if (test == cogrid6[got]){
            mark1=comatrix[got+6]
            mark2=mark1
            return;
         }
         if (test == cogrid7[got]){
            mark1=comatrix[got+7]
            mark2=mark1
            return;
         }
         if (test == cogrid8[got]){
            mark1=comatrix[got+8]
            mark2=mark1
            return;
         }
         if (test == cogrid9[got]){
            mark1=comatrix[got+9]
            mark2=mark1
            return;
         }
         got++
      }
   }                                                           /////////////////// end func
   var tabu=0;
   var tabu1=0;
   var dig1t='';
   var dig2t='';
   var trace="false";
   var Turnstring='';
   var carry='';
   var act='';
   var carryOvl="";
   var carryOvr="";
   var carryOvll="";
   var carryOvrr="";
   var carryOvlfst="";
   var carryOvrfst="";
   var carryOvlf="";
   var carryOvrt='';
   var markcol='';
   var mark2='';
   if(dig1negck=="false"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="true"){
      var holdme='';
      var lbar='';
      var rbar='';
      if(product=="false"){
         var test1=dig2;
         var test2=dig1;
      }
      else{
         var test1=dig1;
         var test2=dig2;
      }
      var zovr="false"
      if (tlgth>0){
         var cnt=0;
         for (lim=tlgth-1; lim>=0; lim--){
            zovr="false";
            lbar=test1.charAt(lim)
            rbar=test2.charAt(lim)
            if (lbar=="a"&&trace=="true"){
               lbar="j";
               zovr="true";
            }
            carryOvl=matrixstr.indexOf(lbar);
            carryOvr=matrixstr.indexOf(rbar);
            if (trace=="true"&&zovr=="false"){
               var carryOvlfst=matrixstr.indexOf(lbar);
               lbar=matrixstr.charAt(carryOvlfst-1);
               trace="false"
            }
            carryOvl=matrixstr.indexOf(lbar);
            carryOvr=matrixstr.indexOf(rbar);
            if (carryOvl>=carryOvr){                      /////////////////////
               mark2=lbar+rbar
               mappmatrixminus(mark2)
            }
            carryOvl=matrixstr.indexOf(lbar);
            carryOvr=matrixstr.indexOf(rbar);
            if (carryOvl<carryOvr){                         //////////////////
               mark2=lbar+rbar
               mappmatrixcrryovr(mark2)
               trace="true";
               mappmatrix(mark2)
               mark2=mark1;
            }                                      ////////////////////////
            cnt++
            markcol=mark2+markcol;
            document.inp.inp0.value=markcol
         }                             ////////////////////end run
      }                                ///////////end ck2 and start
      var marklgth=markcol.length
      while (markcol.charAt(0)=="a"){
         markcol=markcol.substring(1,marklgth)
         document.inp.inp0.value=markcol
      }
   }
   /////////////////////////////////////////////////////////////////////////////////////////////////////////
   if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
      document.inp.inp1.value=dig1
      document.inp.inp2.value=dig2
      Alphacalcplus();
   }
   if (document.inp.inp3.value=="minus"){
      Conv();
      if(decimalmode=="true"){
         var placedecimal=document.inp.inp0.value;
         var placedecimallgth=placedecimal.length;
         var sec1=placedecimal.substring(0, placedecimallgth-CENpLAc);
         var sec1lgth=sec1.length;
         var sec2=placedecimal.substring(sec1lgth, placedecimallgth);
         if(placedecimallgth==CENpLAc){
            document.inp.inp0.value="0"+"."+sec2;
         }
         else{
            document.inp.inp0.value=sec1+"."+sec2;
         }
         if(mpluskey=="true"){
            document.inp.inp4.value=document.inp.inp0.value;
            display2();
            mpluskey="false";
            return;
         }
      }
      if(product=="true"&&dig1negck=="true"&&dig1negck=="true"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      else if(dig1negck=="true"&&dig2negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      if(product=="false"&&dig1negck=="false"&&dig1negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      
      display2();
      writeAns();
   }
}                                           /////////////////////end main for minus

function Alphacalctimes(){                 ////////////////start main for times
   negck=""
   dig1negck="false"
   dig2negck="false"
   var dig1=document.inp.inp1.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   negck=dig1.charAt(0);
   if (negck=="-"){
      dig1negck="true"
      document.inp.inp1.value=dig1.substring(1,tlgth)
   }
   negck=dig2.charAt(0);
   if (negck=="-"){
      dig2negck="true"
      document.inp.inp2.value=dig2.substring(1,rlgth)
   }
   if (document.inp.inp3.value=="times"){
      ConvBack()
   }
   function mappmatrixtimes(test){             /////////////func
      var matrixtimesgrd =  new Array("a","b","c","d","e","f","g","h","i","j","ba","bb","bc","bd","be","bf","bg","bh","bi","bj","ca","cb","cc","cd","ce","cf","cg","ch","ci","cj","da","db","dc","dd","de","df","dg","dh","di","dj","ea","eb","ec","ed","ee","ef","eg","eh","ei","ej","fa","fb","fc","fd","fe","ff","fg","fh","fi","fj","ga","gb","gc","gd","ge","gf","gg","gh","gi","gj","ha","hb","hc","hd","he","hf","hg","hh","hi","hj","ia","ib","ic","id","ie","if","ig","ih","ii","ij");
      var tgrid0=new Array()
      var tgrid1=new Array()
      var tgrid2=new Array()
      var tgrid3=new Array()
      var tgrid4=new Array()
      var tgrid5=new Array()
      var tgrid6=new Array()
      var tgrid7=new Array()
      var tgrid8=new Array()
      var tgrid9=new Array()
      var tgrid10=new Array()
      for (i=0; i<=9; i++){                   ///////////////////////start matrix
         mapp=matrixstr.charAt(0)+matrixstr.charAt(i);
         tgrid0[i]=mapp
         mapp=matrixstr.charAt(1)+matrixstr.charAt(i);
         tgrid1[i]=mapp
         mapp=matrixstr.charAt(2)+matrixstr.charAt(i);
         tgrid2[i]=mapp
         mapp=matrixstr.charAt(3)+matrixstr.charAt(i);
         tgrid3[i]=mapp
         mapp=matrixstr.charAt(4)+matrixstr.charAt(i);
         tgrid4[i]=mapp
         mapp=matrixstr.charAt(5)+matrixstr.charAt(i);
         tgrid5[i]=mapp
         mapp=matrixstr.charAt(6)+matrixstr.charAt(i);
         tgrid6[i]=mapp
         mapp=matrixstr.charAt(7)+matrixstr.charAt(i);
         tgrid7[i]=mapp
         mapp=matrixstr.charAt(8)+matrixstr.charAt(i);
         tgrid8[i]=mapp
         mapp=matrixstr.charAt(9)+matrixstr.charAt(i);
         tgrid9[i]=mapp
         mapp=matrixstr.charAt(10)+matrixstr.charAt(i);
         tgrid10[i]=mapp
      }                                        //////////////end matrix
      for (i=0; i<=9; i++){             //////////start run1
         if (test == tgrid0[i]){
            mark1=matrixtimesgrd[0]
            mark2=mark1
            return;
         }
         if (test == tgrid1[i]){
            mark1=matrixtimesgrd[i*1]
            mark2=mark1
            return;
         }
         if (test == tgrid2[i]){
            mark1=matrixtimesgrd[i*2]
         }
         if (test == tgrid3[i]){
            mark1=matrixtimesgrd[i*3]
            mark2=mark1
            return;
         }
         if (test == tgrid4[i]){
            mark1=matrixtimesgrd[i*4]
            mark2=mark1
            return;
         }
         if (test == tgrid5[i]){
            mark1=matrixtimesgrd[i*5]
            mark2=mark1
            return;
         }
         if (test == tgrid6[i]){
            mark1=matrixtimesgrd[i*6]
            mark2=mark1
            return;
         }
         if (test == tgrid7[i]){
            mark1=matrixtimesgrd[i*7]
            mark2=mark1
            return;
         }
         if (test == tgrid8[i]){
            mark1=matrixtimesgrd[i*8]
            mark2=mark1
            return;
         }
         if (test == tgrid9[i]){
            mark1=matrixtimesgrd[i*9]
            mark2=mark1
            return;
         }
      }                            ////////////////end run1
      mark2=mark1;
      return;
   }                   ////////////end func
   var trace=false;
   var Turnstring='';
   var carry='';
   var act='';
   var fintot=new Array();
   var tript="";
   var markcol2='';
   var markcol='';
   var mark2='';
   var test="fh";
   dig1=document.inp.inp1.value;
   dig2=document.inp.inp2.value;
   tlgth=dig1.length;
   rlgth=dig2.length;
   if (tlgth<rlgth){
      var dig1=document.inp.inp2.value;
      var dig2=document.inp.inp1.value;
   }
   var head=0;
   var tally='';
   var tally2='';
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   var lbar='';
   var rbar='';
   var test1=dig1;
   var test2=dig2;
   var ctovr='';
   var adctovr='';
   var charctovr='';
   var keeptrack='';
   if (tlgth>0){
      var cnt=0;
      
      for (limr=rlgth-1; limr>=0; limr--){
         for (lim=tlgth-1; lim>=0; lim--){
            lbar=test1.charAt(lim)
            rbar=test2.charAt(limr)
            mark2=lbar+rbar
            albar='';
            arbar='',
            mappmatrixtimes(mark2)
            if (trace=="true"&&mark2.length>1){
               carry=mark2.charAt(1)
               charctovr=mark2.charAt(0)
               adctovr=ctovr+carry
               mappmatrix(adctovr)
               adctovr=mark1;
               trace="false"
               if (adctovr.length>1){
                  carry=matrixstr.indexOf(charctovr);
                  charctovr=matrixstr.charAt(carry+1);
                  mark2=charctovr+adctovr.charAt(1)
                  trace="false"
               }
               else
               {
                  mark2=charctovr+adctovr
                  trace="false"
               }
            }
            if (trace=="true"&&mark2.length<2){
               adctovr=mark2+ctovr
               mappmatrix(adctovr)
               adctovr=mark1;
               mark2=adctovr
               trace="false"
               ctovr="a"
            }
            if (mark2.length>1&&lim!=0){
               arbar=mark2.charAt(0)
               albar=mark2.charAt(1)
               ctovr=arbar
               mark2=albar
               trace="true"
            }
            tally=lim;
            tally2=limr;
            markcol=mark2+markcol;
            if (rlgth>1&&tally==0){  ////////////////////////////////stsadd
               markcol2=markcol+tript
               fintot[head]=markcol2
               head++
               markcol='';
               tript=tript+"a"
            }                          /////////////////////////stsadd end
         }
      }                     ///////////end3
   }                              /////////end2
   
   var fintnum=fintot.length
   document.inp.inp1.value=fintot[0]
   for (fint=0; fint<=fintnum-2; fint++){
      document.inp.inp0.value='';
      document.inp.inp2.value=fintot[fint+1]
      Alphacalcplus()
      keeptrack=document.inp.inp0.value
      document.inp.inp1.value=document.inp.inp0.value
      keeptrack=document.inp.inp0.value
      document.inp.inp0.value='';
      cnt++
   }                               /////////////////end1
   if (rlgth>1){
      document.inp.inp0.value=keeptrack
   }
   else
   {
      document.inp.inp0.value=markcol
   }
   var placedecimal=""
   var placedecimallgth=""
   var sec1=""
   var sec2=""
   var sec1lgth=""
   var sec2lgth=""
 
   if (document.inp.inp3.value=="times"){
      Conv();
      if(decimalmode=="true"){
         placedecimal=document.inp.inp0.value;
         placedecimallgth=placedecimal.length;
         while(placedecimallgth<CENpLAc-1){
            document.inp.inp0.value="0"+placedecimal;
            placedecimal=document.inp.inp0.value;
            placedecimallgth=placedecimal.length;
         }
         sec1=placedecimal.substring(0, placedecimallgth-CENpLAc);
         sec1lgth=sec1.length;
         sec2=placedecimal.substring(sec1lgth, placedecimallgth);
         sec2lgth=sec2.length;
         document.inp.inp0.value=sec1+"."+sec2;
         
      }
      
      if(dig2negck=="true"&&dig1negck=="false"||dig1negck=="true"&&dig2negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      display2();
      writeAns();
   }
}
/////////////////////end main for times
function Alphacalcdiv(){                 ////////////////start main for div
   
   var dig1=document.inp.inp1.value;
   var dig2=document.inp.inp2.value;
   var tlgth=dig1.length;
   var rlgth=dig2.length;
   
   if (document.inp.inp3.value=="div","divisors"){
      ConvBack()
   }
   function ConvBackon1(){                        /////////////////func for number conv on act
      var strconv=document.inp.inp1.value;
      var strlgth=strconv.length;
      var conlgth=Convstr.length;
      var siglet='';
      var sig='';
      var contnum='';
      var cap="";
      for (i=strlgth-1; i>=0; i--){
         sig=strconv.charAt(i)
         siglet=Convstr.indexOf(sig)
         cap=matrixstr.charAt(sig)
         contnum=cap+contnum
         document.inp.inp1.value=contnum
      }
      return;
   }                                      //////////////function end
   var lock="on"
   ott="false";
   var frstr=0;
   var frstt=0;
   var wtabu1=0;
   var wtabu=0;
   var wcarryOvlf=0;
   var wcarryOvrt=0;
   var ckwcarryOvlf=0;
   var ckwcarryOvrt=0;
   var wadutn=0;
   var wadutn1=0;
   var lmdig1="";
   var lmdig2="";
   var lfost=0;
   var c1="false";
   var crc="false";
   var qw=0;
   var product="false";
   function lgthfind(){
      lmdig1=mdig1.length
      lmdig2=mark2.length
      if(lmdig2<lmdig1){
         lock="on"
         return;
      }
      
      if(lmdig2>lmdig1){
         lock="off"
         return;
      }
      if (lmdig1==lmdig2){
         var Sme="false"
         qw=0;
         wtabu=0;
         wtabu1=0;
         var Ovlf=0;
         var Ovrt=0;
         for(ute=lmdig1-1; ute>=0; ute--){
            Ovlf=matrixstr.indexOf(mdig1.charAt(qw))
            Ovrt=matrixstr.indexOf(mark2.charAt(qw))
            wadutn=parseInt(Ovlf);
            wadutn1=parseInt(Ovrt);
            if(wadutn>wadutn1&&qw==0){
               lock="on"
               return;
            }
            if(wadutn<wadutn1&&qw==0){
               lock="off"
               return;
            }
            if(Sme=="true"&&wadutn>wadutn1){
               lock="on"
               return;
            }
            if(Sme=="true"&&wadutn<wadutn1){
               lock="off"
               return;
            }
            if(wadutn==wadutn1){
               Sme="true"
            }
            else{
               Sme="false"
            }
            qw++
         }
      }
      return;
   }
   var mainDig="true";
   var combart2='';
   combart='';
   control="false";
   var zovr='';
   var zovrlgth='';
   var lock="off";
   var art=1;
   var gosh='false';
   var fpt="false";
   var tbart='';
   var mdig1='';
   var mdig2='';
   var dig2='';
   var dig1='';
   var mark2='';
   var tbar='';
   var rbar='';
   var tabu1=0;
   var tabu=0;
   var carryOvlf=0;
   var carryOvrt=0;
   var brk="false";
   var q=0;
   var ahed='false';
   var tl=0;
   var tallySTart=new Array();;
   dig1=document.inp.inp1.value;
   dig2=document.inp.inp2.value;
   var rbart=dig2+"a";
   tlgth=dig1.length;
   rlgth=dig2.length;
   ///////////////////////////////////////////////////////////////////////////////////////////////
   
   function lgthfind2(){
      lmdig1=rbart.length
      lmdig2=mdig2.length
      
      if(lmdig2<lmdig1){
         product="true"
         return;
      }
      if(lmdig2>lmdig1){
         product="false"
         return;
      }
      if (lmdig1==lmdig2){
         var Sme="false"
         qw=0;
         wtabu=0;
         wtabu1=0;
         var Ovlf=0;
         var Ovrt=0;
         for(ute=lmdig1-1; ute>=0; ute--){
            Ovlf=matrixstr.indexOf(rbart.charAt(qw))
            Ovrt=matrixstr.indexOf(mark2.charAt(qw))
            wadutn=parseInt(Ovlf);
            wadutn1=parseInt(Ovrt);
            if(wadutn>wadutn1&&qw==0){
               product="false"
               return;
            }
            if(wadutn<wadutn1&&qw==0){
               product="true"
               return;
            }
            if(Sme=="true"&&wadutn>wadutn1){
               product="false"
               return;
            }
            if(Sme=="true"&&wadutn<wadutn1){
               product="true"
               return;
            }
            if(wadutn==wadutn1){
               Sme="true"
            }
            else{
               Sme="false"
            }
            qw++
         }
      }
      return;
   }
   //////////////////////////////////////////////////////////////////////////////////////////////
   while (dig1.charAt(0)=="a"){
      dig1=dig1.substring(1,tlgth)
   }
   mdig2=dig2;
   mdig1=dig1;
   tlgth=dig1.length;
   rlgth=dig2.length;
   function qbart(){                  //////////////start qbart
      while (rbart.length>=mdig2.length){
         tlgth=mdig1.length;
         rlgth=mdig2.length;
         
         var dcnt=0;
         var rovr=0;
         rovr=tlgth-rlgth
         for (mz=1; mz<rovr; mz++){
            zovr=zovr+"a"
            zovrlgth=zovr.length
         }
         
         if (brk=="false"){
            document.inp.inp2.value=mdig2
            lock="on"
            while(lock=="on"){                       /////////// loop
               if(rbart.length<=mdig2.length){break};
               document.inp.inp1.value=''
               document.inp.inp1.value=art
               document.inp.inp2.value=''
               ConvBackon1();
               document.inp.inp1.value=document.inp.inp1.value+zovr
               var action=document.inp.inp1.value
               document.inp.inp2.value=mdig2
               Alphacalctimes()
               mark2=document.inp.inp0.value
               art++
               if (mark2==mdig1){
                  gosh="true"
                  break;
               }
               lgthfind()
               lgthfind2()
            }                         /////////////////////end loop for lock=on
            zovr=zovr.substring(0,zovrlgth-1)
            art=action
            document.inp.inp0.value=art
            Conv();
            art = document.inp.inp0.value
            var STart="b"+zovr
            document.inp.inp0.value=STart
            Conv();
            STart = document.inp.inp0.value
            zovrlgth=zovr.length
            
            while(lock=="off" && gosh=="false"){
               if(rbart.length<=mdig2.length){break};
               if (mark2==mdig1){
                  gosh="true"
                  break;
               }
               document.inp.inp1.value=mark2
               document.inp.inp2.value=mdig2+zovr
               action=document.inp.inp2.value
               Alphacalcminus()
               rbart=document.inp.inp0.value
               document.inp.inp1.value=mdig1
               lfost=rbart.length
               for (lf=1; lf<=lfost; lf++){
                  if (rbart.charAt(0)=="a"){
                     rbart=rbart.substring(1, lfost)
                  }
               }
               mark2=rbart
               if(zovrlgth>0){
                  art=art-STart
               }
               else{
                  art--
               }
               lgthfind()
               lgthfind2()
               
            }               ////////////while lock=off
            if(gosh=="false"){
               document.inp.inp2.value=rbart
               Alphacalcminus()
               rbart=document.inp.inp0.value
               lfost=rbart.length
               for (lf=1; lf<=lfost; lf++){
                  if (rbart.charAt(0)=="a"){
                     rbart=rbart.substring(1, lfost)
                  }
               }
            }
            if (mark2==mdig1){
               rbart='';
            }
            document.inp.inp1.value=art
            ConvBackon1();
            document.inp.inp1.value=document.inp.inp1.value
            document.inp.inp2.value=mdig2
            tbart=document.inp.inp1.value
            mdig1=rbart
            document.inp.inp2.value=mdig2
            document.inp.inp1.value=mdig1
            control="false"
            art=1;
            mark2=mdig2
            var dcnt=0;
            var rovr=0;
            tlgth=mdig1.length;
            rlgth=mdig2.length;
            rovr="";
            zovr='';
            STart="";
            
            tallySTart[tl]=tbart
            if(rbart.length<=mdig2.length){break};
            tl++
            for (mz=1; mz<rovr; mz++){
               zovr=zovr+"a"
            }
         }
      }
   }                                ///////////end qbart
   if (brk=="false"){               ////////////this is start
      qbart();
   }
   lock="on"
   lgthfind()
   var tally=""
   var tallySTartlgth=tallySTart.length
   for(ute=tallySTartlgth-1; ute>=0; ute--){
      document.inp.inp1.value=tally
      document.inp.inp2.value=tallySTart[ute]
      Alphacalcplus()
      tally=document.inp.inp0.value
   }
   document.inp.reman.value=rbart
   document.inp.inp0.value
   
}                 /////////////////////end main for div

function digRoots(){
   display1();
   setTimeout("digRoot()", 1);
}
function digRoot(){
   var cnt=0;
   var prmrt='';
   var prmrtty='';
   var prmrttylgth='';
   var strconv=document.inp.inp0.value;
   var strlgth=strconv.length;
   var conlgth=Convstr.length;
   var siglet='';
   var sig='';
   var contnum='';
   var cap='';
   var toe="stop"
   for (i=strlgth-1; i>=0; i--){
      sig=strconv.charAt(i)
      siglet=Convstr.indexOf(sig)
      cap=matrixstr.charAt(sig)
      contnum=cap+contnum
   }
   contnumlgth=contnum.length
   document.inp.inp2.value="a"
   for(ix=0; ix<=contnumlgth-1; ix++){
      document.inp.inp1.value=contnum.charAt(ix)
      Alphacalcplus();
      prmrtty=document.inp.inp0.value
      document.inp.inp2.value=prmrtty
      prmrttylgth=prmrtty.length
      if (prmrttylgth>1&&ix==contnumlgth-1){
         ix=-1;
         contnum=prmrtty;
         contnumlgth=contnum.length;
         document.inp.inp2.value="a"
      }
   }
   document.inp.inp0.value=prmrtty
   Conv();
   display2();
   writeAns();
} /////////////////func to convert at end of math


function display1(){
   var	layer5 = document.getElementById("div2");
   var	FDplyr='Working.......................';
   layer5.innerHTML = FDplyr;
}

function display2(){
   if (stmpm=="false"){
      var	layer5 = document.getElementById("div2");
      var	FDplyr='AlpMcalc..Ready';
      layer5.innerHTML = FDplyr;
   }
}

function display3(){
   var	layer5 = document.getElementById("div4");
   var	FDplyr='Working............';
   layer5.innerHTML = FDplyr;
}

function display4(PRMdiv){
   var	layer5 = document.getElementById("div4");
   var	FDplyr='.....'+PRMdiv;
   layer5.innerHTML = FDplyr;
}

function writeAns() {
   //////////////////////////////////////////////////////////////////////////////
   
   /////////////////////////////////////////////////////////////////////////
   
   var Dply=document.inp.inp0.value
   var layer = document.getElementById("divdis");
   var Dplylgth=Dply.length
   var incre=0;
   var incre2=0;
   var XDply=''
   if (Dplylgth>20){
      while(incre2<Dplylgth){
         incre2=incre2+20
         XDply=XDply+Dply.substring(incre, incre2)+'\n';
         ////////////////////////////////////////////////////////add line feeds to wrap
         incre=incre+20
      }
   }
   else{
      XDply=Dply
   }
   
   Dply=XDply
   if (scrsz=="true"){
      var FDply='<center><textarea  onClick=alert(mes);getElementById("testdiv").focus() rows="2" cols="22" style="background-color: #FFFFFF" name="jet" wrap="soft">'+Dply+'</textarea></center>'
   }
   else {
      var FDply='<center><textarea  onClick=alert(mes);getElementById("testdiv").focus() rows="3" cols="22" style="background-color: #FFFFFF" name="jet" wrap="soft">'+Dply+'</textarea></center><div class="switch1" OnClick="switchmode1()">&nbsp;DECIMAL&nbsp;</div><div class="switch2" OnClick="switchmode2()">&nbsp;STANDARD&nbsp;</div>'
   }
   layer.innerHTML = FDply;
   var rmanv=document.inp.reman.value
   if(rmanv!="0"&&document.inp.inp3.value=="div"&&stmpm=="false"&&stmpmDIV=="false"){
      var layer2 = document.getElementById("div3");
      var rmanlgth=rmanv.length
      if (rmanlgth>6){
         var increr=0;
         var incre2r=0;
         var XDplyr=''
         while(incre2r<rmanlgth){
            incre2r=incre2r+6
            XDplyr=XDplyr+rmanv.substring(increr, incre2r)+'\n';
            ///////////////////////////////////////////////////////////////////////////add line feeds to wrap
            increr=increr+6
         }
      }
      else{
         XDplyr=rmanv
      }
      var	FDplyr='<center><textarea  rows="1" cols="10" style="background-color: #FFFFFF" name="jet" wrap="soft" valign="top">Rem='+XDplyr+'</textarea></center>'
      layer2.innerHTML = FDplyr;
   }
   
}
var mes="Do Not Enter Numbers In Display, Use the Matrix Calculator Interface"

function filIn(){
   var	layer3 = document.getElementById("div3");
   var	FDplyr=''
   layer3.innerHTML = FDplyr;
   document.inp.reman.value="0"
   remanv=""
}
function filIn2(){
   var	layer4 = document.getElementById("div4");
   var	FDplyr=''
   layer4.innerHTML = FDplyr;
   
}


function DrillD(){
   var negck=""
   var dig1negck="false"
   var dig2negck="false"
   var dig1=document.inp.inp1.value
   var dig2=document.inp.inp2.value
   var tlgth=dig1.length
   var rlgth=dig2.length
   
   negck=dig1.charAt(0);
   
   if (negck=="-"){
      dig1negck="true"
      document.inp.inp1.value=dig1.substring(1,tlgth)
   }
   negck=dig2.charAt(0);
   if (negck=="-"){
      dig2negck="true"
      document.inp.inp2.value=dig2.substring(1,rlgth)
   }
   
   var goup="false"
   var prnum =document.inp.inp1.value;
   var prnLGTH=prnum.length;
   var Dubb = document.inp.inp2.value;
   var Dubblgth=Dubb.length;
   var TfDubb=Dubb;                              ////////////this is a temp holder
   var TfDubblgth=TfDubb.length;
   document.inp.inp1.value=Dubb
   document.inp.inp2.value=prnum
   ConvBack();
   var TmpDubb=document.inp.inp1.value
   var Tmpprnum=document.inp.inp2.value
   var TmpDubblgth=TmpDubb.length
   Sme="false"
   var dif="up"
   if (TmpDubblgth>prnLGTH){
      var OVEr="true"
   }
   if (TmpDubblgth==prnLGTH&&OVEr=="false"){
      var  qw=0;
      var  wtabu=0;
      var  wtabu1=0;
      var Ovlf=0;
      var Ovrt=0;
      OVEr="false"
      for(ute=prnLGTH-1; ute>=0; ute--){
         Ovlf=matrixstr.indexOf(TmpDubb.charAt(qw))
         Ovrt=matrixstr.indexOf(Tmpprnum.charAt(qw))
         wadutn=parseInt(Ovlf);
         wadutn1=parseInt(Ovrt);
         if(wadutn>wadutn1&&qw==0){
            var OVEr="true"
            break;
         }
         if(Sme=="true"&&wadutn>wadutn1){
            var OVEr="true"
            break;
         }
         if(wadutn==wadutn1){
            Sme="true"
         }
         else{
            Sme="false"
         }
         if (wadutn<wadutn1&&qw==0){
            break;
         }
         qw++
      }
   }
   
   while(Dubblgth<prnLGTH){
      Dubb=Dubb+"0"
      Dubblgth=Dubb.length
      goup="true"
   }
   
   if (goup=="true"){
      document.inp.inp1.value=Dubb
      document.inp.inp2.value=prnum
      ConvBack();
      var TmpDubb=document.inp.inp1.value
      var Tmpprnum=document.inp.inp2.value
      var TmpDubblgth=TmpDubb.length
      qw=0;
      var  wtabu=0;
      var  wtabu1=0;
      var Ovlf=0;
      var Ovrt=0;
      var OVEr="false"
      for(ute=prnLGTH-1; ute>=0; ute--){
         
         Ovlf=matrixstr.indexOf(TmpDubb.charAt(qw))
         Ovrt=matrixstr.indexOf(Tmpprnum.charAt(qw))
         wadutn=parseInt(Ovlf);
         wadutn1=parseInt(Ovrt);
         if(wadutn>wadutn1&&qw==0){
            
            TmpDubb=TmpDubb.substring(0,TmpDubblgth-1)
            document.inp.inp0.value=TmpDubb
            Conv();
            Dubb=document.inp.inp0.value
            Dubblgth=Dubb.length
            goup="false"
            break;
         }
         if(Sme=="true"&&wadutn>wadutn1){
            TmpDubb=TmpDubb.substring(0,TmpDubblgth-1)
            document.inp.inp0.value=TmpDubb
            Conv();
            Dubb=document.inp.inp0.value
            Dubblgth=Dubb.length
            goup="false"
            break;
         }
         if(wadutn==wadutn1){
            Sme="true"
         }
         else{
            Sme="false"
         }
         if (wadutn<wadutn1&&qw==0){
            break;
         }
         qw++
      }
   }
   var reis="";
   var remanNum=""
   var remanNumlgth=remanNum.length
   Dubblgth=Dubb.length
   document.inp.inp1.value=prnum;
   document.inp.inp2.value=Dubb;
   document.inp.inp3.value="divisors";
   while(Dubblgth>=TfDubblgth){
      Alphacalcdiv();
      if (document.inp.reman.value==""){
         Conv();
         reis=reis+document.inp.inp0.value      //////////reis keeps track of our backward div products
         var esten=Dubblgth-TfDubblgth
         for(ute=1; ute<=esten; ute++){
            reis=reis+"0"
         }
         document.inp.inp0.value=reis
         break;
      }
      
      Conv();
      reis=reis+document.inp.inp0.value  //////////reis keeps track of our backward div products
      divConv();                            //////we take the product and add to it as we go
      document.inp.inp0.value=document.inp.reman.value
      remanNum=document.inp.inp0.value
      remanNumlgth=remanNum.length
      document.inp.reman.value=1;
      Dubb=Dubb.substring(0,Dubblgth-1) ///this drops it one digit place
      Dubblgth=Dubb.length
      
      if (remanNumlgth<Dubblgth&&Dubblgth>=TfDubblgth){
         Dubb=Dubb.substring(0,Dubblgth-1)
         Dubblgth=Dubb.length
         OVEr=="false"
         reis=reis+"0"
      }
      
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
      /////////////////this should adjust for digit jumps
      OVEr="false"
      var skip="false"
      if (remanNumlgth==1&&Dubblgth==1){
         skip="true"
      }
      if (remanNumlgth==Dubblgth&&skip=="false"){
         document.inp.inp1.value=Dubb
         document.inp.inp2.value=remanNum
         ConvBack();
         StDubb=document.inp.inp1.value
         StremanNum=document.inp.inp2.value
         qw=0;
         wtabu=0;
         wtabu1=0;
         Ovlf=0;
         Ovrt=0;
         OVEr="false"
         Sme-"false"
         for(ute=remanNumlgth-1; ute>=0; ute--){
            Ovlf=matrixstr.indexOf(StDubb.charAt(qw))
            Ovrt=matrixstr.indexOf(StremanNum.charAt(qw))
            wadutn=parseInt(Ovlf);
            wadutn1=parseInt(Ovrt);
            if(wadutn>wadutn1&&qw==0){
               var OVEr="true"
               break;
            }
            if(Sme=="true"&&wadutn>wadutn1){
               var OVEr="true"
               break;
            }
            if(wadutn==wadutn1){
               Sme="true"
            }
            else{
               Sme="false"
            }
            if (wadutn<wadutn1&&qw==0){
               var OVEr="false"
               break;
            }
            qw++
         }
         if(OVEr=="true"&&Dubblgth>=TfDubblgth){
            Dubb=Dubb.substring(0,Dubblgth-1)
            Dubblgth=Dubb.length
            reis=reis+"0"
            OVEr=="false"
            
         }
      }
      ///////////this backs the loop down for each loop
      document.inp.inp1.value=remanNum;
      document.inp.inp2.value=Dubb;
      document.inp.inp3.value="divisors";
      if (remanNumlgth<Dubblgth){
         
         break;
      }
      
   }                               /////////////////////while loop
   
   
   if(decimalmode=="true"&&decplaces>=1&&document.inp.inp1.value!=""){
      if(decpass=="false"){
         if (reversedec=="true"){
            Twholreis="0"+point+keepupWdec+reis;
         }
         else{
            Twholreis=reis+point;
         }
         reis="";
         decpass="true"
         decplaces=decplaces-1;
         document.inp.inp1.value=remanNum+"0";
         document.inp.inp2.value=TfDubb;
         document.inp.inp3.value="divisors";
         DrillD();
      }
      else{
         decreis=decreis+reis
         reis="";
         decplaces=decplaces-1;
         document.inp.inp1.value=remanNum+"0";
         document.inp.inp2.value=TfDubb;
         document.inp.inp3.value="divisors";
         DrillD(decreis);
      }
      
   }
   
   
   if(decpass=="true"){
      if(document.inp.inp1.value=="0"){
         decreis=decreis+reis
         document.inp.inp0.value=Twholreis+decreis+reis
         document.inp.inp3.value="div"
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.inp0.value="-"+ document.inp.inp0.value
         }
         if(document.inp.reman.value==""){
            document.inp.reman.value="0"
         }
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.reman.value="-"+ document.inp.reman.value
         }
         
         writeAns();
         display2();
         filIn();
         
         return;
      }
      else if (reversedec=="false"){
         decreis=decreis+reis
         document.inp.inp0.value=Twholreis+decreis+reis
         document.inp.inp3.value="div"
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.inp0.value="-"+ document.inp.inp0.value
         }
         if(document.inp.reman.value==""){
            document.inp.reman.value="0"
         }
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.reman.value="-"+ document.inp.reman.value
         }
         
         writeAns();
         display2();
         filIn();
         
         return;
      }
      ////////////////////////////////////////////////////////////////
      ////.66/88
      ////////////////////////////////////////////////////////////
      else
      if (reversedec=="true"){
         decreis=decreis+reis
         document.inp.inp0.value=Twholreis+decreis+reis;
         document.inp.inp3.value="div"
         
         reversedec="false";
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.inp0.value="-"+ document.inp.inp0.value
         }
         if(document.inp.reman.value==""){
            document.inp.reman.value="0"
         }
         if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
            document.inp.reman.value="-"+ document.inp.reman.value
         }
         writeAns();
         display2();
         filIn();
         
         return;
         
      }
   }
   else
   if (decimalmode=="true"&&decpass=="true"&&document.inp.inp1.value=="0"&&reversedec=="true"){
      decreis=decreis+reis                       /////////////////////watch this one
      document.inp.inp0.value=Twholreis+decreis+reis;
      document.inp.inp3.value="div"
      
      reversedec="false";
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      if(document.inp.reman.value==""){
         document.inp.reman.value="0"
      }
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.reman.value="-"+ document.inp.reman.value
      }
      writeAns();
      display2();
      filIn();
      
      return;
      
   }
   else
   if (decimalmode=="true"&&decpass=="false"&&document.inp.inp1.value==""&&reversedec=="true"){
      document.inp.inp0.value="0"+point+decreis+reis;
      document.inp.inp3.value="div"
      
      reversedec="false";
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      if(document.inp.reman.value==""){
         document.inp.reman.value="0"
      }
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.reman.value="-"+ document.inp.reman.value
      }
      writeAns();
      display2();
      filIn();
      
      return;
      
   }
   else
      
   if (decimalmode=="true"&&reversedec=="false"){
      
      document.inp.inp0.value=reis+point;
      document.inp.reman.value=document.inp.inp1.value
      document.inp.inp3.value="div";
      
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      if(document.inp.reman.value==""){
         document.inp.reman.value="0"
      }
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.reman.value="-"+ document.inp.reman.value
      }
      writeAns();
      display2();
      return;
   }
   else
      
   {
      
      document.inp.inp0.value=reis;
      document.inp.reman.value=document.inp.inp1.value
      document.inp.inp3.value="div";
      
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.inp0.value="-"+ document.inp.inp0.value
      }
      if(document.inp.reman.value==""){
         document.inp.reman.value="0"
      }
      if(dig1negck=="true"&&dig2negck=="false"||dig2negck=="true"&&dig1negck=="false"){
         document.inp.reman.value="-"+ document.inp.reman.value
      }
      writeAns();
      display2();
      return;
   }
}

/////////////////////// function DrillD
///////////////////////////////////////////////////////////////////////////////////////
function divCHeck(){
   var tabu=0;
   var tabu1=0;
   var q=0;
   var TESdig1=document.inp.inp1.value;
   var TESdig2=document.inp.inp2.value;
   var TEStlgth=TESdig1.length;
   var TESrlgth=TESdig2.length;
   if(decimalmode=="true"){
      
   }
   while (q<TEStlgth&&TEStlgth<=TESrlgth){
      if(TESrlgth>TEStlgth&&decimalmode=="false"){
         //////////////////////////////////////////////////////////////////////////////////////////
         //////we have to check which fraction is greater..not a small task first let's spilt it up
         var begfrac1=TESdig1.indexOf("&");
         var begfrac2=TESdig2.indexOf("&");
         var top1str=TESdig1.indexOf("/");
         var top2str=TESdig2.indexOf("/");
         //////////now lets ck if its mixed
         if(begfrac1==-1&&top1str==-1){
            document.inp.inp1.value=TESdig1+"/"+"1";
            checkforsize="true"
            fracfunc="div";
            display1()
            setTimeout("fractioncontrol()", 1);
            return;
         }
         if(begfrac2==-1&&top2str==-1){
            document.inp.inp2.value=TESdig2+"/"+"1";
            checkforsize="true"
            fracfunc="div";
            display1()
            setTimeout("fractioncontrol()", 1);
            return;
         }
         /////////////////////////////////////////////////////////////////////////////////////////
         
      }
      else
      if(TESrlgth>TEStlgth&&decimalmode=="true"){
         var backone=0;
         while(TESrlgth>TEStlgth){
            TESdig1=TESdig1+"0";
            TEStlgth=TESdig1.length;
            if(backone==1){
               keepupWdec=keepupWdec+"0";
            }
            backone=1;
         }
         document.inp.inp1.value=TESdig1;
         document.inp.inp2.value=TESdig2;
         checkforsize="true";
         reversedec="true";
         fracfunc="div";
         display1()
         setTimeout("DrillD()", 1);
         return;
      }
      var carryOvlf=Convstr.indexOf(TESdig1.charAt(q))
      var carryOvrt=Convstr.indexOf(TESdig2.charAt(q))
      var adutn=parseInt(carryOvlf);
      var adutn1=parseInt(carryOvrt);
      var tabu=(tabu+adutn);
      var tabu1=(tabu1+adutn1);
      
      if (tabu>tabu1){
         return;
      }
      else
      if (tabu<tabu1&&decimalmode=="false"){
         
         return;
         
      }
      else
      if (tabu<tabu1&&decimalmode=="true"){
         document.inp.inp1.value=TESdig1+"0";
         document.inp.inp2.value=TESdig2;
         checkforsize="true"
         fracfunc="div";
         reversedec="true";
         display1()
         setTimeout("DrillD()", 1);
         return;
         
      }
      q++;
   }
   
}
function switchmode1(){
   clrE();
   var layer5 = document.getElementById("div4");
   var CHa1='Decimal';
   layer5.innerHTML = CHa1;
   decimalmode="true";
   writeAns();
}
function switchmode2(){
   clrE();
   decimalmode="false";
   var layer5 = document.getElementById("div4");
   var CHa1='Standard';
   layer5.innerHTML = CHa1;
   
   writeAns();
}