I would never, ever consider trixbox. That said, Asterisk itself can work very well in a small-to-medium office environment.
If you have a decent enough router and you were fairly confident in your internet connection (and you were my customer), I would provide you with a hosted PBX that was asterisk-based.
There are a lot of options, and my best advice to you would be to find someone else to set it up for you. Preferably someone with several positive references. Joe Blow out of his house doesn't really help you when it goes down. However, a company with many, many phonesystem installs gives you a finger to point at someone.
Imagoon's mostly right. You want someone to point the finger at when there's a problem. Don't set it up yourself unless you're very technically savvy. Also, the PBX hardware itself is generally the lowest-cost item. The phones (particularly in a VOIP environment) are the most expensive part.
If you absolutely must set it up yourself and you don't want to take the time to learn Asterisk the right way, Elastix is a fairly decent packaged install of Asterisk. That said, I'd still recommend that you read "Asterisk: The Future of Telephony" (Free downloadable PDF at
http://www.asteriskdocs.org) at least twice and spend two or more months familiarizing yourself with Asterisk at the config-file level before you install any GUI. That way, when shit doesn't work right, you'll know where to go, what to look for, and how to go about finding info to fix it.
I have asterisk PBXes set up for 80 phone offices, multi-location businesses (4 locations off one PBX), hosted pbxes for offices with 30+ phones, and my voice switch for my ITSP is Asterisk-based (with a Cisco AS5400 for a media gateway). Asterisk works great when set up properly. It can also work not-so-great when not set up properly. If you don't want your coworkers or customers jumping down your throat at the slightest problem, find a company else who specializes in this kind of work to do it for you.