Arrow follows navigation on rollover any ideas?

Hi all, I am after an effect I have seen somewhere before, but cannot remember the link. What I am after is a simple navigation like the image I have included, where my arrow only appears when you hover over the buttons, Simple enough to do right. But then I would like the arrow to move from left to right for each button. So if I was to hover over contact us, the button would move with the mouse when it hits that area, but I would require the arrow to be constrained within a desired area. And only move on the hrizontal pane.

I hope all this makes sense, can anyone help me understand how this can be achieved, or equally direct me to a tutorial of some sorts.