//$(function() {$('a.add-timetable').click(function() {MailingList.addTimetable(this); return false;})});

//$(function() {$('#filter').keyup(function() {alert('hi'); return false;})});


var MailingList = {
    filter : function() {
        parts = $('#filter').val().split(/\s+/);
        
        for (var j in parts) {
            parts[j] = parts[j].toLowerCase();
        }
        
        $('#unselected-timetables tr').show();
        rows = $('#unselected-timetables tr.row');

        var visibleRows = 0;
            
        for (var i = 0; i < rows.length; i++) {
            visible = true;
            for (var j in parts) {
                if ($(rows[i]).find('td.timetable').text().toLowerCase().indexOf(parts[j]) == -1 &&
                    $(rows[i]).find('td.routes').text().toLowerCase().indexOf(parts[j]) == -1) {
                    $(rows[i]).hide();
                    visible = false;
                    break;
                }
            }
            if (visible) {
                visibleRows++;
            }
        }
        
        if (visibleRows > 0) {
            $('#unselected-timetables .notice').hide();
        }
        else {
            $('#unselected-timetables .notice').show();
        }
        
        return false;
        
    },
    
    addTimetable : function() {
        $(this).text('Remove');
        e = $(this).closest('tr').remove();
        e.find('input').val('yes');
        $('#selected-timetables tr:first').after(e); // after, since the first item is just a note
        MailingList.filter();
        $('#selected-timetables .notice').hide()
        return false;
    },
    
    removeTimetable : function() {
        MailingList.filter();
        $(this).text('Add');
        e = $(this).closest('tr').remove();
        e.find('input').val('no');
        $('#unselected-timetables tr:last').after(e);
        
        if ($('#selected-timetables tr').length <= 1) {
            $('#selected-timetables .notice').show();
        }
        return false;
    }, 
    
    clearFilter : function() {
        parts = $('#filter').val('');
        MailingList.filter();
    },
    
    init : function() {
        $('#filter').keyup(MailingList.filter);
        $('#unselected-timetables tr.row a').live('click', MailingList.addTimetable);
        $('#selected-timetables tr.row a').live('click', MailingList.removeTimetable);
        
        $('#unselected-timetables .notice a').click(MailingList.clearFilter);
        $('#unselected-timetables .notice').hide();
    }
}

$(function() {MailingList.init();});

