def fExport_ClientSettings():
    # ---------------------------------------------------#

    logging.debug("-- export client settings")
    click("export_btn.png")
    time.sleep(1)

    # move to Export To list
    myTools.pressTAB(1)

    # move to Nahant
    type("n")
    time.sleep(1)

    # move highlight to account for Timeslips weirdness
    type(Key.UP)
    type(Key.DOWN)
    time.sleep(1)

    # highlight and mark rest of clients
    type(Key.END, Key.SHIFT)
    type(Key.F4)
    time.sleep(1)

    # click Export, then Yes
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type(Key.ENTER)

    myTools.waitForExportSuccess()
def fExport_ClientSettings():
#---------------------------------------------------#
    
    logging.debug('-- export client settings')
    click("export_btn.png")    
    
    # clear all and highlight tax profile
    type(Key.DELETE)
    time.sleep(1)
    type(Key.UP)
    type(Key.DOWN)

    # mark tax profile
    type(Key.F4)
    type(Key.TAB)

    # mark all clients
    type(Key.INSERT)
    time.sleep(1)

    # click export
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type(Key.ENTER)

    myTools.waitForExportSuccess()   
def fExport_TemplateSettings():
#---------------------------------------------------#
    
    logging.debug('-- export template settings')
    click("export_btn.png")
    
    # clear all and highlight tax profile
    type(Key.DELETE)
    time.sleep(1)
    type(Key.UP)
    type(Key.DOWN)

    # mark tax profile
    type(Key.F4)

    # switch to Templates
    
    if Settings.tsVersion > "2014":
        myTools.pressSHIFTTAB(1)
        time.sleep(1)
        type("t")
        time.sleep(1)
        myTools.pressTAB(1)
    else:        
        click("templates.png")    

    # mark Default
    type(Key.TAB)    
    type(Key.F4)
    time.sleep(1)

    # click export
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type(Key.ENTER)

    myTools.waitForExportSuccess()   
def fEdit_InterestSetting():
#---------------------------------------------------#

    logging.debug('- edit interest setting')
    
    # switch to first client
    type(Key.PAGE_UP, KeyModifier.CTRL)

    # get to interest field
    if int(Settings.tsVersion) > 2014:
        myTools.pressSHIFTF6(9)
        myTools.pressTAB(9)
    else:
        myTools.pressF6(2)    
        myTools.pressTAB(7)
        
    type("5")
    type("s", KeyModifier.CTRL)
    time.sleep(1)
    click(Pattern("export_button.png").targetOffset(0,8))
    time.sleep(1)
    type(Key.DELETE)

    # interest rate
    myTools.pressDOWN(5)
    
    type(Key.F4)
    time.sleep(1)
    
    type(Key.TAB)
    type(Key.INSERT)
    type(Key.TAB)
    type(Key.ENTER)
    time.sleep(1)
    type("y")
    
    myTools.waitForExportSuccess()
def fExport_Timekeepers():
#---------------------------------------------------#

    logging.debug('- Export Timekeepers')

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

    if int(Settings.tsVersion) > 2014:    
        myTools.pressF6(4)
        myTools.pressTAB(2)        
    else:
        type(Key.F6)
        myTools.pressTAB(3)
        type(Key.RIGHT)

    # enter custom field values
    type(Key.TAB)
    type("t")
    type(Key.TAB)
    type("20")
    
    type(Key.TAB)
    type("c")
    type(Key.TAB)
    type("10")

    type(Key.TAB)
    type("j")
    type(Key.TAB)
    type("5")

    type("s", KeyModifier.CTRL)
    
    wait("export_btn.png")
    click("export_btn.png")
    time.sleep(1)

    if int(Settings.tsVersion) > 2014:    
        type(Key.DOWN)
        # sometimes a keypress is needed to make INS work
    else:    
        type(Key.DELETE)
        myTools.pressDOWN(8)
        type(Key.DOWN, KeyModifier.SHIFT)
        type(Key.DOWN, KeyModifier.SHIFT)    
        type(Key.F4)
    time.sleep(1)

    type(Key.TAB)        
    type(Key.INSERT)
    type(Key.TAB)    
    
    type(Key.ENTER)    
    time.sleep(1)
    type(Key.ENTER)    

    myTools.waitForExportSuccess()

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