Oh visto. Il problema sta nel fatto che si tratta di centrare orizzontalmente, rispetto al suo genitore, un elemento il quale ha position:absolute e non ha una width definita. Questi due fattori, messi assieme, rendono la cosa un po' complicata.

Se la width fosse definita, la tecnica più utilizzata è quella di impostare left:50% e margin-left pari al valore negativo della metà di width.

Nel tuo caso bisogna invece ricorrere ad altri metodi.

Un metodo è questo, con l'uso di proprietà CSS3:
codice:
#elemento_centrato {
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}
Chiaramente, trattandosi di CSS3, dovrai considerare il discorso riguardo il supporto dei vari browser.

Qui una discussione su css-tricks in cui sono riportate e argomentate tali tecniche.

Un'altra soluzione prevede l'uso di un ulteriore elemento contenitore.
Qui un fiddle di esempio, proposto in questa discussione su stack-overflow. In quel caso si tratta di un tooltip, ma il metodo credo sia applicabile anche al tuo caso.

Vedi se con queste soluzioni riesci a risolvere, poi è possibile che ce ne siano anche delle altre.