Problema com datas

Os campos de hora não funcionam

by Guilherme Schmidt

HTML

<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://trentrichardson.com/examples/timepicker/jquery-ui-timepicker-addon.js"></script>
<div class="form-group">
    <label for="datas_sel" class="control-label">Datas do evento</label><br>
    <div id="datas_sel" style="float:left;"></div><br>&nbsp;<br>
    <label>Horas para as datas selecionadas:</label><br>
    <div id="horas_sel" style="width:100%;"></div><br>&nbsp;<br>
</div>

CSS

#horas_sel div{
    width: 100%;
    padding: 5px;
    white-space: nowrap;
}
#horas_sel span{
    white-space: nowrap;
}
#horas_sel *{
    display: inline-block;
}
#horas_sel div span input{
    width: 80px;
    height: 24px;
}
#horas_sel div:nth-child(odd){
    background-color: #E3E3E3;
}

JavaScript

$( document ).ready(function() {
    //classe de implementação
    var calendario = {
        datas : new Array(),
        padNumero: function(num) {
            return (num.toString().length == 1)?"0"+num.toString():num.toString();
        },
        forDate : function(str){
            return str.substring(6) + "/" + str.substring(4,6) + "/" + str.substring(0,4);
        },
        sorteio: function(a, b) {
            return a.getAttribute('data-date') - b.getAttribute('data-date');
        },
        dataOrganiza: function(){
            var organizar = $("#horas_sel div").toArray().sort(this.sorteio);
            $("#horas_sel div").remove();
            $.each(organizar, function (k, v) {
                $('#horas_sel').append(v);
            });
        },
        addRemData: function(data) {
            var index = jQuery.inArray(data, this.datas);
            if (index >= 0){
                this.removeDate(index);
            }else{
                this.addDate(data);
            }
            this.dataOrganiza();
        },
        addDate: function(data) {
            if (jQuery.inArray(data, this.datas) < 0){
                this.datas.push(data);
            }
            $('#horas_sel').append('<div id="dia_'+data+'" data-date="'+data+'" data-horas="0">\
    <span id="data_'+data+'"><b>'+this.forDate(data)+':</b></span>\
    <span id="hora_'+data+'"></span>\
    <span id="plusicon_'+data+'" class="glyphicon glyphicon-plus-sign" style="padding:3px;border-left:1px solid #CCC;"></span>\
    </div>');
            setTimeout(function(){
                $('#plusicon_'+data).click(function(){
                    calendario.addHora(data)
                });
                calendario.addHora(data);
            },300);
        },
        removeDate: function(ind) {
            var d = this.datas.splice(ind, 1);
            $('#dia_'+d).remove();
        },
        addHora: function(data){
            var num = $('#dia_'+data).attr('data-horas');
           ...