Replace dot with comma on keypress

HTML

<div class="row">
  <div class="col-xs-4">
    <input class="form-control" type="text">
        </div>
    </div>

CSS

body {
    padding: 1em;
}http://jsfiddle.net/#save

JavaScript

$('input').each(function () {
    $(this).keypress(function(e) {
        // '46' is the keyCode for '.'
        if(e.keyCode == '46' || e.charCode == '46') {
            // IE
            if(document.selection) {
                // Determines the selected text. If no text selected,
                // the location of the cursor in the text is returned
                var range = document.selection.createRange();
                // Place the comma on the location of the selection,
                // and remove the data in the selection
                range.text = ',';
                // Chrome + FF
            }else if(this.selectionStart || this.selectionStart == '0') {
                // Determines the start and end of the selection.
                // If no text selected, they are the same and
                // the location of the cursor in the text is returned
                // Don't make it a jQuery obj, because selectionStart 
                // and selectionEnd isn't known.
                var start = this.selectionStart;
                var end = this.selectionEnd;
                // Place the comma on the location of the selection,
                // and remove the data in the selection
                $(this).val($(this).val().substring(0, start) + ',' + $(this).val().substring(end, $(this).val().length));
                // Set the cursor back at the correct location in 
                // the text
                this.selectionStart = start + 1;
                this.selectionEnd = start +1;
            } else {
                // if no selection could be determined, 
                // place the comma at the end.
                $(this).val($(this).val() + ',');             
            }
            return false;
        }
    });
});