]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/Event/event.js
Merge branch '1.0.x' into testing
[quix0rs-gnu-social.git] / plugins / Event / event.js
1 $(document).ready(function() {
2
3     var today = new Date();
4
5     $("#event-startdate").datepicker({
6         // Don't let the user set a crazy start date
7         minDate: today,
8         onClose: function(dateText, picker) {
9             // Don't let the user set a crazy end date
10             var newStartDate = new Date(dateText);
11             var endDate = new Date($("#event-startdate").val());
12             if (endDate < newStartDate) {
13                 $("#event-enddate").val(dateText);
14             }
15             if (dateText !== null) {
16                 $("#event-enddate").datepicker('option', 'minDate', new Date(dateText));
17             }
18         },
19         onSelect: function() {
20             var startd = $("#event-startdate").val();
21             var endd = $("#event-enddate").val();
22             var sdate = new Date(startd);
23             var edate = new Date(endd);
24             if (sdate !== edate) {
25                 updateTimes();
26             }
27         }
28     });
29
30     $("#event-enddate").datepicker({
31         minDate: today,
32         onSelect: function() {
33             var startd = $("#event-startdate").val();
34             var endd = $("#event-enddate").val();
35             var sdate = new Date(startd);
36             var edate = new Date(endd);
37             if (sdate !== edate) {
38                 updateTimes();
39             }
40         }
41     });
42
43     function updateTimes() {
44         var startd = $("#event-startdate").val();
45         var endd = $("#event-enddate").val();
46
47         var startt = $("#event-starttime option:selected").val();
48         var endt = $("#event-endtime option:selected").val();
49
50         var sdate = new Date(startd + " " + startt);
51         var edate = new Date(endd + " " + endt);
52         var duration = (startd === endd);
53
54         $.getJSON($('#timelist_action_url').val(),
55             { start: startt, ajax: true, duration: duration },
56             function(data) {
57                 var times = [];
58                 $.each(data, function(key, val) {
59                 times.push('<option value="' + key + '">' + val + '</option>');
60             });
61
62             $("#event-endtime").html(times.join(''));
63             if (startt < endt) {
64                 $("#event-endtime").val(endt).attr("selected", "selected");
65             }
66         })
67     }
68
69     $("#event-starttime").change(function(e) {
70         updateTimes();
71     });
72
73 });