﻿// JScript File
function ChangeInput(x)
{
var spnTest
var spnReps
var spnTop1RM
var spnTop5RM


xDOM("linkRecalcTonnage").style.color="red"
xDOM("linkRecalcTonnage").style.fontWeight="900"

switch(x)
    {
        case 0: case 1:
            spnTest=xDOM("inpSquat")
            spnReps=xDOM("inpSquatReps")
            spnTop1RM=xDOM("spnSquat1RM")
            spnTop5RM=xDOM("spnSquat5RM")
            
            break
        case 2: case 3:
            spnTest=xDOM("inpBench")
            spnReps=xDOM("inpBenchReps")
            spnTop1RM=xDOM("spnBench1RM")
            spnTop5RM=xDOM("spnBench5RM")
            
            break
        case 4: case 5:
            spnTest=xDOM("inpRow")
            spnReps=xDOM("inpRowReps")
            spnTop1RM=xDOM("spnRow1RM")
            spnTop5RM=xDOM("spnRow5RM")
            
            break
        case 6: case 7:
            spnTest=xDOM("inpDead")
            spnReps=xDOM("inpDeadReps")
            spnTop1RM=xDOM("spnDead1RM")
            spnTop5RM=xDOM("spnDead5RM")
            
            break
       case 8: case 9:
            spnTest=xDOM("inpIncline")
            spnReps=xDOM("inpInclineReps")
            spnTop1RM=xDOM("spnIncline1RM")
            spnTop5RM=xDOM("spnIncline5RM")
            
            break
            
    }
    
 if(x<=9)
{   
    if(isNaN(spnTest.value) || isNaN(spnReps.value) || spnReps.value>12)
    {
        alert("Please enter valid numbers")
        return
    }
    

    var int1RM=(spnTest.value)/(1.0278-(0.0278*spnReps.value))
    spnTop1RM.innerHTML=Math.round(int1RM,0)

    var int5RM=int1RM*(1.0278-(0.0278*5))
    spnTop5RM.innerHTML=Math.round(int5RM,0)
    DoCalculations(x)
}
else
{
    DoCalculations(0)
    DoCalculations(2)
    DoCalculations(4)
    DoCalculations(6)
    DoCalculations(8)
    
    
}

//CalcTonnage()

}

function DoCalculations(x)
{

    DoCalculationsMonday(x)

    DoCalculationsWednesday(x)
    
    DoCalculationsFriday(x)
    
    
}


function DoCalculationsWednesday(x)
{
    switch(x)
        {
            case 0: case 1:
                DoCalculationsWednesday_Squat()
                break
            default:
                DoCalculationsWednesday_Others(x)
                break;
        }
}

function DoCalculationsMonday(x)
{

var val5RM
var valExercise
var val4thSet
var val3thSet
var val2thSet
var val1thSet
var valSetInterval=xDOM("inpSetInterval").value

switch(x)
    {
        case 0: case 1: //need to redo squats
            val5RM=xDOM("spnSquat5RM").innerHTML
            
            valExercise="Squat"
            break
        case 2: case 3: //need to redo squats
            val5RM=xDOM("spnBench5RM").innerHTML
            valExercise="Bench"
            break
        case 4: case 5: //need to redo squats
            val5RM=xDOM("spnRow5RM").innerHTML
            valExercise="Row"
            break
        default:
            
            return
            break
    }
    if(val5RM=="&nbsp;")
    {
        return
    }
    var newTotal=val5RM
    for(weeks=1; weeks<=12; weeks++)
    {
        if(weeks<4)
        {
            newTotal=val5RM
            for(backoff=weeks; backoff<4; backoff++)
            {
                newTotal=(newTotal*.975)
            }
            
            
            
        }
        else if(weeks==4)
        {
            newTotal=val5RM
            
            
        }
        else
        {
            newTotal=newTotal*1.025
            
            
        }
        
            val4thSet=Math.round(newTotal*(1-(valSetInterval/100)))
            val3thSet=Math.round(newTotal*(1-((2*valSetInterval)/100)))
            val2thSet=Math.round(newTotal*(1-((3*valSetInterval)/100)))
            val1thSet=Math.round(newTotal*(1-((4*valSetInterval)/100)))
            newTotal=Math.round(newTotal,2)
        xDOM("spn" + valExercise + "_" + weeks + "_5").innerHTML=newTotal
        xDOM("spn" + valExercise + "_" + weeks + "_4").innerHTML=val4thSet
        xDOM("spn" + valExercise + "_" + weeks + "_3").innerHTML=val3thSet
        xDOM("spn" + valExercise + "_" + weeks + "_2").innerHTML=val2thSet
        xDOM("spn" + valExercise + "_" + weeks + "_1").innerHTML=val1thSet
    }
    
}

function DoCalculationsWednesday_Others(x)
{

var val5RM
var valExercise
var val4thSet
var val3thSet
var val2thSet
var val1thSet
var valSetInterval=xDOM("inpSetInterval").value

switch(x)
    {
        case 6: case 7: //need to redo squats
            val5RM=xDOM("spnDead5RM").innerHTML
            valExercise="Dead"
            break
        case 8: case 9: //need to redo squats
            val5RM=xDOM("spnIncline5RM").innerHTML
            valExercise="Incline"
            break
        
        default:
            return
            break
    }
    
    if(val5RM=="&nbsp;")
    {
        return
    }
    var newTotal=val5RM
    for(weeks=1; weeks<=12; weeks++)
    {
        if(weeks<4)
        {
            newTotal=val5RM
            for(backoff=weeks; backoff<4; backoff++)
            {
                newTotal=(newTotal*.975)
            }
            
            
            
        }
        else if(weeks==4)
        {
            newTotal=val5RM
            
            
        }
        else
        {
            newTotal=newTotal*1.025
            
            
        }
        
            val4thSet=Math.round(newTotal*(1-(valSetInterval/100)))
            val3thSet=Math.round(newTotal*(1-((2*valSetInterval)/100)))
            val2thSet=Math.round(newTotal*(1-((3*valSetInterval)/100)))
            val1thSet=Math.round(newTotal*(1-((4*valSetInterval)/100)))
            newTotal=Math.round(newTotal,2)
        
        xDOM("spn" + valExercise + "_" + weeks + "_4").innerHTML=newTotal
        xDOM("spn" + valExercise + "_" + weeks + "_3").innerHTML=val4thSet
        xDOM("spn" + valExercise + "_" + weeks + "_2").innerHTML=val3thSet
        xDOM("spn" + valExercise + "_" + weeks + "_1").innerHTML=val2thSet
    }
    
}
function DoCalculationsWednesday_Squat()
{
    for(weeks=1; weeks<=12; weeks++)
        {
        xDOM("spnSquat_" + weeks + "_6").innerHTML=xDOM("spnSquat_" + weeks + "_1").innerHTML
        xDOM("spnSquat_" + weeks + "_7").innerHTML=xDOM("spnSquat_" + weeks + "_2").innerHTML
        xDOM("spnSquat_" + weeks + "_8").innerHTML=xDOM("spnSquat_" + weeks + "_3").innerHTML
        xDOM("spnSquat_" + weeks + "_9").innerHTML=xDOM("spnSquat_" + weeks + "_3").innerHTML
        }
}

function DoCalculationsFriday(x)
{
switch(x)
        {
    case 0: case 1: //need to redo squats
            val5RM=xDOM("spnSquat5RM").innerHTML
            valExercise="Squat"
            break
        case 2: case 3: //need to redo squats
            val5RM=xDOM("spnBench5RM").innerHTML
            valExercise="Bench"
            break
        case 4: case 5: //need to redo squats
            val5RM=xDOM("spnRow5RM").innerHTML
            valExercise="Row"
            break
         default:
            return
            break
            }
    for(weeks=1; weeks<=12; weeks++)
        {
        xDOM("spn" + valExercise + "_" + weeks + "_10").innerHTML=xDOM("spn" + valExercise + "_" + weeks + "_1").innerHTML
        xDOM("spn" + valExercise + "_" + weeks + "_11").innerHTML=xDOM("spn" + valExercise + "_" + weeks + "_2").innerHTML
        xDOM("spn" + valExercise + "_" + weeks + "_12").innerHTML=xDOM("spn" + valExercise + "_" + weeks + "_3").innerHTML
        xDOM("spn" + valExercise + "_" + weeks + "_13").innerHTML=xDOM("spn" + valExercise + "_" + weeks + "_4").innerHTML
        if(weeks!=12)
        {
        xDOM("spn" + valExercise + "_" + weeks + "_14").innerHTML=xDOM("spn" + valExercise + "_" + (weeks*1+1) + "_5").innerHTML
        }
        else
        {
            xDOM("spn" + valExercise + "_" + weeks + "_14").innerHTML=Math.round(xDOM("spn" + valExercise + "_" + (weeks) + "_5").innerHTML*1.025,0)
        }
        xDOM("spn" + valExercise + "_" + weeks + "_15").innerHTML=xDOM("spn" + valExercise + "_" + weeks + "_3").innerHTML
        
        }
}


function CalcTonnage_Monday(x)
{
var totalSquats
var totalBench
var totalRows

var totalSquatsR
var totalBenchR
var totalRowsR

var RM1
var weight
var tonnageperc=xDOM("inpTonnage").value/100

totalSquats=0
totalBench=0
totalRows=0
totalSquatsR=0
totalBenchR=0
totalRowsR=0


for(y=1; y<=5; y++)
    {
            
        totalSquats+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
        
        totalBench+=xDOM("spnBench_" + x + "_" + y).innerHTML*xDOM("spnBench_" + y + "_REPS").innerHTML
        totalRows+=xDOM("spnRow_" + x + "_" + y).innerHTML*xDOM("spnRow_" + y + "_REPS").innerHTML
        
        //Calc 1RM For Squat, Weeks 1-4 calculations are different
        weight=xDOM("spnSquat_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnSquat1RM").innerHTML*1
            }
        else
            {
            RM1=xDOM("spnSquat_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalSquatsR+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
                
            }
            
        //Calc 1RM For Bench, Weeks 1-4 calculations are different
        weight=xDOM("spnBench_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnBench1RM").innerHTML*1
            }
        else
            {
            RM1=xDOM("spnBench_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalBenchR+=xDOM("spnBench_" + x + "_" + y).innerHTML*xDOM("spnBench_" + y + "_REPS").innerHTML
            }
        
        //Calc 1RM For Rows, Weeks 1-4 calculations are different
        weight=xDOM("spnRow_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnRow1RM").innerHTML*1
                        }
        else
            {
            
            RM1=xDOM("spnRow_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalRowsR+=xDOM("spnRow_" + x + "_" + y).innerHTML*xDOM("spnRow_" + y + "_REPS").innerHTML
            }
    
        
    if(isNaN(totalSquats))
    {
    totalSquats=0
    }
    if(isNaN(totalBench))
    {
    totalBench=0
    
    }
    if(isNaN(totalRows))
    {
    totalRows=0
    }
    
    if(isNaN(totalSquatsR))
    {
    totalSquatsR=0
    }
    if(isNaN(totalBenchR))
    {
    totalBenchR=0
    
    }
    if(isNaN(totalRowsR))
    {
    totalRowsR=0
    }
    
    }
    
    xDOM("spnTon_" + x).innerHTML=totalSquats+totalBench+totalRows
    xDOM("spnTonR_" + x).innerHTML=totalSquatsR+totalBenchR+totalRowsR


}

function CalcTonnage_Wednesday(x)
{
var totalSquats
var totalDead
var totalIncline
var totalSquatsR
var totalDeadR
var totalInclineR

var RM1
var weight
var tonnageperc=xDOM("inpTonnage").value/100

totalSquats=0
totalDead=0
totalIncline=0

totalSquatsR=0
totalDeadR=0
totalInclineR=0
 //Wednesday's Tonnage
        
        
        for(y=6; y<=9; y++)
        {
            
            totalSquats+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
            totalDead+=xDOM("spnDead_" + x + "_" + (y-5)).innerHTML*xDOM("spnDead_" + (y-5) + "_REPS").innerHTML
            totalIncline+=xDOM("spnIncline_" + x + "_" + (y-5)).innerHTML*xDOM("spnIncline_" + (y-5) + "_REPS").innerHTML
            
            //Calc 1RM For squats, Weeks 1-4 calculations are different
            if(x<=4)
                {
                RM1=xDOM("spnSquat1RM").innerHTML*1
                }
            else
                {
                RM1=xDOM("spnSquat_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
                }
                
            weight=xDOM("spnSquat_" + x + "_" + y).innerHTML*1
            
            if(weight>(RM1*tonnageperc))
                {
                    totalSquatsR+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
                    
                }
                
          //Calc 1RM For Incline, Weeks 1-4 calculations are different
          
            if(x<=4)
                {
                
                RM1=xDOM("spnIncline1RM").innerHTML*1
                
                }
            else
                {
                RM1=xDOM("spnIncline_" + x + "_" + 4).innerHTML/((1.0278-(0.0278*5)))
                }
            
            
            weight=xDOM("spnIncline_" + x + "_" + (y-5)).innerHTML*1
            
            if(weight>(RM1*tonnageperc))
                {
                    totalInclineR+=xDOM("spnIncline_" + x + "_" + (y-5)).innerHTML*xDOM("spnIncline_" + (y-5) + "_REPS").innerHTML
                    
                }   
            
            
          //Calc 1RM For Dead, Weeks 1-4 calculations are different
            if(x<=4)
                {
                RM1=xDOM("spnDead1RM").innerHTML*1
                }
            else
                {
                RM1=xDOM("spnDead_" + x + "_" + 4).innerHTML/((1.0278-(0.0278*5)))
                }
                
            weight=xDOM("spnDead_" + x + "_" + (y-5)).innerHTML*1
            
            if(weight>(RM1*tonnageperc))
                {
                    totalDeadR+=xDOM("spnDead_" + x + "_" + (y-5)).innerHTML*xDOM("spnDead_" + (y-5) + "_REPS").innerHTML
                    
                }
              
        }
        
        if(isNaN(totalSquats))
        {
        totalSquats=0
        }
        if(isNaN(totalDead))
        {
        totalDead=0
        
        }
        if(isNaN(totalIncline))
        {
        totalIncline=0
        }
        
        if(isNaN(totalSquatsR))
        {
        totalSquatsR=0
        }
        if(isNaN(totalDeadR))
        {
        totalDeadR=0
        
        }
        if(isNaN(totalInclineR))
        {
        totalInclineR=0
        }
        
        
        xDOM("spnTon2_" + x).innerHTML=totalSquats+totalDead+totalIncline
        xDOM("spnTonR2_" + x).innerHTML=totalSquatsR+totalDeadR+totalInclineR
}


function CalcTonnage_Friday(x)
{
var totalSquats
var totalBench
var totalRows

var totalSquatsR
var totalBenchR
var totalRowsR

var RM1
var weight
var tonnageperc=xDOM("inpTonnage").value/100

totalSquats=0
totalBench=0
totalRows=0
totalSquatsR=0
totalBenchR=0
totalRowsR=0


for(y=10; y<=15; y++)
    {
            
        totalSquats+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
        totalBench+=xDOM("spnBench_" + x + "_" + y).innerHTML*xDOM("spnBench_" + y + "_REPS").innerHTML
        totalRows+=xDOM("spnRow_" + x + "_" + y).innerHTML*xDOM("spnRow_" + y + "_REPS").innerHTML
        
        //Calc 1RM For Squat, Weeks 1-4 calculations are different
        weight=xDOM("spnSquat_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnSquat1RM").innerHTML*1
            }
        else
            {
            RM1=xDOM("spnSquat_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalSquatsR+=xDOM("spnSquat_" + x + "_" + y).innerHTML*xDOM("spnSquat_" + y + "_REPS").innerHTML
                
            }
            
        //Calc 1RM For Bench, Weeks 1-4 calculations are different
        weight=xDOM("spnBench_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnBench1RM").innerHTML*1
            }
        else
            {
            RM1=xDOM("spnBench_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalBenchR+=xDOM("spnBench_" + x + "_" + y).innerHTML*xDOM("spnBench_" + y + "_REPS").innerHTML
            }
        
        //Calc 1RM For Rows, Weeks 1-4 calculations are different
        weight=xDOM("spnRow_" + x + "_" + y).innerHTML*1
        
        if(x<=4)
            {
            RM1=xDOM("spnRow1RM").innerHTML*1
                        }
        else
            {
            
            RM1=xDOM("spnRow_" + x + "_" + 5).innerHTML/((1.0278-(0.0278*5)))
            }
            
        
        
        if(weight>(RM1*tonnageperc))
            {
                totalRowsR+=xDOM("spnRow_" + x + "_" + y).innerHTML*xDOM("spnRow_" + y + "_REPS").innerHTML
            }
    
        
    if(isNaN(totalSquats))
    {
    totalSquats=0
    }
    if(isNaN(totalBench))
    {
    totalBench=0
    
    }
    if(isNaN(totalRows))
    {
    totalRows=0
    }
    
    if(isNaN(totalSquatsR))
    {
    totalSquatsR=0
    }
    if(isNaN(totalBenchR))
    {
    totalBenchR=0
    
    }
    if(isNaN(totalRowsR))
    {
    totalRowsR=0
    }
    
    }
    
    xDOM("spnTon3_" + x).innerHTML=totalSquats+totalBench+totalRows
    xDOM("spnTonR3_" + x).innerHTML=totalSquatsR+totalBenchR+totalRowsR


}

function CalcTonnage()
{

var totalSquats
var totalBench
var totalRows
var totalDead
var totalIncline

var totalSquatsR
var totalBenchR
var totalRowsR
var totalDeadR
var totalInclineR


var RM1
var weight
var tonnageperc=xDOM("inpTonnage").value/100



for(x=1; x<=12; x++)
    {
        //Monday's Tonnage
        
        CalcTonnage_Monday(x)
        
        CalcTonnage_Wednesday(x)
        CalcTonnage_Friday(x)
     
        
      
        
        
        
        
        xDOM("spnTon4_" + x).innerHTML=xDOM("spnTon_" + x).innerHTML*1+xDOM("spnTon2_" + x).innerHTML*1+xDOM("spnTon3_" + x).innerHTML*1
        xDOM("spnTonR4_" + x).innerHTML=xDOM("spnTonR_" + x).innerHTML*1+xDOM("spnTonR2_" + x).innerHTML*1+xDOM("spnTonR3_" + x).innerHTML*1
        
        
    }
    
xDOM("linkRecalcTonnage").style.color="black"
xDOM("linkRecalcTonnage").style.fontWeight="500"
   

}
