def fContingencyExp_Setup2(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient + "2")
    logging.debug(pBAClient + "2")

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for exp
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(6)
    
# enter details    
    type(Key.ENTER)
    time.sleep(1)
    
#    if int(Settings.tsVersion) > 2014:
#        myTools.pressTAB(1)
#    else:
    myTools.pressTAB(2)
    
    type(Key.DOWN)
    
# save and close    
    type(Key.ENTER)
    type("s",KeyModifier.CTRL)
    
    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fProgressTotal_Setup3():
    # - - - - - - - - - - - - - - - - - - - - - - - - - #

    myTools.sectionStartTimeStamp("ba ProgressTot3")
    logging.debug("ba ProgressTot3")

    # open client
    type("i", KeyModifier.CTRL)
    time.sleep(1)
    type("BA-ProgressTot")
    type(Key.ENTER)
    time.sleep(1)

    # get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)

    # enter details
    type(Key.ENTER)
    time.sleep(1)
    type("700")
    time.sleep(1)

    type("u", KeyModifier.ALT)
    type(Key.END)
    type(Key.ENTER)

    # save and close
    type("s", KeyModifier.CTRL)

    type(Key.F4, KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4, KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fProgressTotal_Setup1():
    # - - - - - - - - - - - - - - - - - - - - - - - - - #

    myTools.sectionStartTimeStamp("ba ProgressTot1")
    logging.debug("ba ProgressTot1")

    # open client
    type("i", KeyModifier.CTRL)
    time.sleep(1)
    type("BA-ProgressTot")
    type(Key.ENTER)
    time.sleep(1)

    # get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(4)

    # switch to minimum
    type(Key.HOME)
    myTools.pressDOWN(11)
    # enter details
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type("500")
    time.sleep(1)
    type(Key.ENTER)
    # save and close
    type("s", KeyModifier.CTRL)

    type(Key.F4, KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4, KEY_CTRL)

    myTools.sectionEndTimeStamp()
def fPercent_Setup3(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient + "3")
    logging.debug(pBAClient + "3")

# open client    
    type("i",KeyModifier.CTRL)
    time.sleep(1)
    type(pBAClient)
    type(Key.ENTER)
    time.sleep(1)

# enter details    
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)
    type(Key.ENTER)
    time.sleep(1)    

    type(Key.TAB)
    type(Key.DOWN)
    type(Key.TAB)
    
    type("o",KeyModifier.CTRL)
    myTools.pressTAB(4)
    type("100")
    type(Key.ENTER)
    time.sleep(1)    

    type(Key.DOWN)
    type("o",KeyModifier.CTRL)
    myTools.pressTAB(4)
    type("100")
    type(Key.ENTER)
    time.sleep(1)    

    type(Key.DOWN)
    type("o",KeyModifier.CTRL)
    myTools.pressTAB(4)
    type("100")
    type(Key.ENTER)
    time.sleep(1)    

    # save and close

    if int(Settings.tsVersion) > 2014:
        myTools.pressTAB(8)        
    else:
        myTools.pressTAB(9)

    type(Key.SPACE)
    time.sleep(1)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fAbsoluteNoSlips_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for both
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(3)
    
    type(Key.RIGHT)
    time.sleep(1)    
    type(Key.ENTER)

    if int(Settings.tsVersion) > 2014:
        type(Key.TAB)  
    
# switch to absolute
    type(Key.HOME)
    myTools.pressDOWN(2)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)    
    time.sleep(1)

    type("1000")
    myTools.pressTAB(1)
    time.sleep(1)    

    if int(Settings.tsVersion) > 2014:
        type(Key.TAB)

    type("n")
    myTools.pressTAB(1)
    time.sleep(1)    

    type("3")
    myTools.pressTAB(1)
    time.sleep(1)    

    time.sleep(1)    
    type("Absolute FF - NoSlips")
    time.sleep(1)    
    
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fAdjustTimekeeperBoth_Setup(pBAClient):
# - - - - - - - - - - - - - - - - - - - - - - - - - #

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for both
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(3)
    
    type(Key.RIGHT)
    time.sleep(1)    
    type(Key.ENTER)  

# extra TAB starting in TS2015
    if int(Settings.tsVersion) > 2014:
        type(Key.TAB)

# switch to adjust by timekeeper    
    type(Key.HOME)
    myTools.pressDOWN(1)    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("n",KeyModifier.ALT)
    type("t")    
    type(Key.TAB)    
    type("25")
    type(Key.TAB)    
    type(Key.RIGHT)    

    if int(Settings.tsVersion) < 2014:
        myTools.pressTAB(3)
    else:
        type("d",KeyModifier.ALT)
		
    time.sleep(1)    
    type("Adjust Timekeeper - Both")
    time.sleep(1)    

# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    myTools.pressTAB(4)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fMinimumBoth_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client    
    type("i",KeyModifier.CTRL)
    time.sleep(1)
    type(pBAClient)
    type(Key.ENTER)
    time.sleep(1)

# get to arrangement field for both
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(3)
    
    type(Key.RIGHT)
    time.sleep(1)    
    type(Key.ENTER)

    if int(Settings.tsVersion) > 2014:
        type(Key.TAB)
    
# switch to minimum
    type(Key.HOME)
    myTools.pressDOWN(3)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("5000")
    myTools.pressTAB(2)

    if int(Settings.tsVersion) > 2014:
        type(Key.TAB)
    
    time.sleep(1)    
    type("Minimum FF - Both")
    time.sleep(1)    
   
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fAdjustTotalExp_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for expense
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)

# switch to adjust total charges    
    type(Key.HOME)
    type(Key.DOWN)

# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("n",KeyModifier.ALT)
    type("25")
    time.sleep(1)   
    type(Key.TAB)    
    type(Key.RIGHT)

    if int(Settings.tsVersion) < 2014:
        myTools.pressTAB(3)
    else:
        type("d",KeyModifier.ALT)
		
    time.sleep(1)    
    type("Adjust Total Charges - Exp")
    time.sleep(1)    
    
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    myTools.pressTAB(4)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fMinimumHours_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client    
    type("i",KeyModifier.CTRL)
    time.sleep(1)
    type(pBAClient)
    type(Key.ENTER)
    time.sleep(1)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(4)
    
# switch to minimum
    type(Key.HOME)
    myTools.pressDOWN(9)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("1000")
    type(Key.TAB)
    type("1")
    type(Key.TAB)
    type("500")
    myTools.pressTAB(3)
	
    time.sleep(1)    
    type("Minimum Hours FF")
    time.sleep(1)    
	
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fProgressActivity_Setup3():
# - - - - - - - - - - - - - - - - - - - - - - - - - #

    myTools.sectionStartTimeStamp("ba ProgressAct3")
    logging.debug("ba ProgressAct1")

# open client    
    type("i",KeyModifier.CTRL)
    time.sleep(1)
    type("BA-ProgressAct")
    type(Key.ENTER)
    time.sleep(1)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)
    
# enter details    
    type(Key.ENTER)
    time.sleep(1)
    type(Key.DOWN)
    time.sleep(1)
    type("o",KeyModifier.ALT)        
    type("700")
    time.sleep(1)    
    type(Key.ENTER)
    time.sleep(1)    
    type("u",KeyModifier.ALT)
    type(Key.DOWN)
    type(Key.ENTER)
    
# save and close    
    type("s",KeyModifier.CTRL)
    time.sleep(1)

    if int(Settings.tsVersion) > 2014:
        if exists("are_you_sure.png"):
            type("y",KeyModifier.ALT)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fMaximumExp_Setup(pBAClient):
    # ---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

    # open client
    type("i", KeyModifier.CTRL)
    time.sleep(1)
    type(pBAClient)
    type(Key.ENTER)
    time.sleep(1)

    # get to arrangement field for exp
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)

    # switch to maximum
    type(Key.HOME)
    myTools.pressDOWN(6)
    # enter details
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type("500")
    myTools.pressTAB(2)

    time.sleep(1)
    type("Maximum FF - Expense")
    time.sleep(1)

    # save and close
    type(Key.TAB)
    type(Key.SPACE)
    type("s", KeyModifier.CTRL)

    type(Key.F4, KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4, KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fContingencyTime_Setup1(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient + "1")
    logging.debug(pBAClient + "1")

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(4)
    
# switch to contingency
    type(Key.HOME)
    myTools.pressDOWN(8)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("1000")
    myTools.pressTAB(3)
	
    time.sleep(1)    
    type("Contingency - Time")
    time.sleep(1)    
    
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fFlatFeePlusExp_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for exp
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)
    
# switch to flat fee plus charges
    type(Key.HOME)
    myTools.pressDOWN(7)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("500")
    myTools.pressTAB(2)
	
    time.sleep(1)    
    type("FF Plus - Expense")
    time.sleep(1)    
	
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fAbsoluteExp_Setup(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient)
    logging.debug(pBAClient)

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for exp
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)
    
# switch to absolute
    type(Key.HOME)
    myTools.pressDOWN(4)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("1000")
    myTools.pressTAB(3)
	
    time.sleep(1)    
    type("Absolute FF - Expense")
    time.sleep(1)    
    
# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fInterimActivity_Setup2(pBAClient):
# - - - - - - - - - - - - - - - - - - - - - - - - - #

    myTools.sectionStartTimeStamp(pBAClient + "2")
    logging.debug(pBAClient + "2")

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(5)
    
# enter details    
    type(Key.ENTER)
    time.sleep(1)
    type(Key.DOWN)
    time.sleep(1)
    type("o",KeyModifier.ALT)        
    type("600")
    time.sleep(1)    
    type(Key.ENTER)
    time.sleep(1)    
    type(Key.ENTER)
    
# save and close    
    type("s",KeyModifier.CTRL)
    time.sleep(1)

    if int(Settings.tsVersion) > 2014:
        if exists("are_you_sure.png"):
            type("y",KeyModifier.ALT)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)    

    myTools.sectionEndTimeStamp()
def fInterimActivity_Setup1(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient + "1")
    logging.debug(pBAClient + "1")

# open client
    myTools.openClient(pBAClient)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(4)
    
# switch to Interim
    type(Key.END)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1) 
    type(Key.DOWN)
    time.sleep(1) 
    type("o",KeyModifier.ALT)    
    type("500")
    time.sleep(1)    
    type(Key.ENTER)
    time.sleep(1)    
    type(Key.ENTER)
	
# save and close    
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()
def fPercent_Setup1(pBAClient):
#---------------------------------------------------#

    myTools.sectionStartTimeStamp(pBAClient + "1")
    logging.debug(pBAClient + "1")

# open client    
    type("i",KeyModifier.CTRL)
    time.sleep(1)
    type(pBAClient)
    type(Key.ENTER)
    time.sleep(1)

# get to arrangement field for time
    ba__Common.fMoveto_BAPage()
    myTools.pressTAB(4)
    
# switch to contingency
    type(Key.HOME)
    myTools.pressDOWN(10)
    
# enter details    
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)    
    type("1000")

# enter phases

    myTools.pressTAB(3)
    
    type(Key.SPACE)
    time.sleep(1)    
    type("Phase1")
    type(Key.TAB)
    type("50")
    myTools.pressTAB(3)
    type("25")   
    type(Key.ENTER)
    
    type(Key.SPACE)
    time.sleep(1)    
    type("Phase2")
    type(Key.TAB)
    type("30")
    myTools.pressTAB(3)
    type("25")   
    type(Key.ENTER)
    
    type(Key.SPACE)
    time.sleep(1)    
    type("Phase3")
    type(Key.TAB)
    type("20")
    myTools.pressTAB(3)
    type("25")   
    type(Key.ENTER)

    if int(Settings.tsVersion) > 2014:
        myTools.pressTAB(5)
    else:
        myTools.pressTAB(6)
		
    time.sleep(1)    
    type("Percent Complete")
    time.sleep(1)    

# save and close    
    type(Key.TAB)
    type(Key.SPACE)
    time.sleep(1)    
    type("s",KeyModifier.CTRL)

    type(Key.F4,KeyModifier.CTRL)
    time.sleep(1)
    type(Key.F4,KeyModifier.CTRL)

    myTools.sectionEndTimeStamp()