$(function () { // Initialize form validation $("input,select,textarea").jqBootstrapValidation({ autoAdd: {helpBlocks: false}, submitSuccess: function (form, event) { // will not trigger the default submission in favor of the ajax function event.preventDefault(); registerSeat(); $('#modal-registration').modal('hide'); } }); // Modal Handling $(".user-selected").not(".disabled").click(function(){ $('#modal-user-type').modal('hide'); }); $('#modal-registration').on('show.bs.modal', function (event) { var button = $(event.relatedTarget); // Button that triggered the modal var event_id = button.data('event-id'); // Extract info from data-* attributes var event_name = button.data('event-name'); $(this).find('input[name=event-id]').val(event_id); $(this).find('#modal-reg-title').text("Register Attendance to "+event_name); }) // Load events loadEvents(); }); function htmlAlert(level, message){ switch(level.toUpperCase()){ case "INFO": level="info"; break; case "SUCCESS": level="success"; break; case "WARNING": level="warning"; break; case "ERROR": level="danger"; break; } genFromTemplate("#template-alert", "#alert-container", {"level": level, "message": message}, true); } function loadEvents(){ loading(true); $.getJSON("service.php?action=get_all_events", function(json){ if(json['error'] != null){ htmlAlert("ERROR", json['error']); return; } for(i=0; i 0) json['events'][i]['reg-free'] = true; else if(json['events'][i]['backup_seats_available'] > 0) json['events'][i]['reg-backup'] = true; else json['events'][i]['reg-full'] = true; } genFromTemplate("#template-events", "#event-list", json); loading(false); }); } function registerSeat(){ loading(true); $.getJSON("service.php?action=register_seat&"+$('#registration-form').serialize(), function(json){ if(json['error'] != null){ htmlAlert("ERROR", json['error']); return; } htmlAlert("SUCCESS", "Registration was successful."); loadEvents(); loading(false); }); } function genFromTemplate(templateId, targetId, data){ genFromTemplate(templateId, targetId, data, false); } function genFromTemplate(templateId, targetId, data, append){ var template = $(templateId).html(); var rendered = Mustache.render(template, data); if(append) $(targetId).append( rendered ); else $(targetId).html( rendered ); } function loading(enabled){ //if(enabled) // $('#loading').modal('show'); //else // $('#loading').modal('hide'); }