IOS 5 now lets you change the background image on the tab, but this kind of user control is much more complicated. You basically need to write your own view and controller, which will change between views, move the arrow accordingly and activate / deactivate buttons.
As the elements that make up, I would say
, , GitHub Twitter.