pode melhorar algumas coisas aí, pra evitar problemas:
- tem uso de variáveis globais soltas no meio da função, corte isso. (i on lines 5,6,7,8,10,11)
- coloque algo mais específico do que selecionar .pm, pode confundir com outras classes utilizadas no código de quem for utilizar.
- idente o código direito, deixe fácil de ler, se quiser menor, use o google closure compiler pra comprimir. Sugiro utilizar o
jshinter.heroku.com (ou
jshint.com) com opção de strict whitespace (a white lá no final das opções).
- o css realmente faz isso com uma performance que não pode ser comparada, mas é interessante se você aplicar esse seu código para tornar maiúscula apenas a primeira letra de todo input.
- coloque como plugin, como o Ruan disse. Recomendo utilizar o jQuery Plugin Boilerplate, como o feito pelo Zeno Rocha, é ótimo pra iniciar um plugin.
não é trolagem, são sugestões e bom trabalho aí.