Starting on the course detail page
[oweals/karmaworld.git] / karmaworld / assets / js / course.js
1 window.KARMAWORLD = window.KARMAWORLD ||  {};
2 window.KARMAWORLD.Course = {
3   initCourseNameAutocomplete: function(autocompleteOpts) {
4     var opts = $.extend( {}, autocompleteOpts, {
5       source: function(request, response){
6         var school_id = $('#id_school').val();
7         $.ajax({
8           url: json_school_course_list,
9           data: {q: request.term, school_id: school_id},
10           success: function(data) {
11             if (data['status'] === 'success') {
12               response($.map(data['courses'], function(item) {
13                 return {
14                     value: item.name,
15                     label: item.name,
16                 };
17               }));
18             }
19           },
20           dataType: "json",
21           type: 'POST'
22         });
23       },
24       minLength: 3
25     });
26     $("#id_name").autocomplete(opts);
27   },
28
29   initInstructorNameAutocomplete: function(autocompleteOpts) {
30     var opts = $.extend( {}, autocompleteOpts, {
31       source: function(request, response) {
32         var school_id = $('#id_school').val();
33         var course_name = $('#id_name').val();
34         $.ajax({
35           url: json_school_course_instructor_list,
36           data: {q: request.term, school_id: school_id, course_name: course_name},
37           success: function(data) {
38             if (data['status'] === 'success') {
39               // Fill in the autocomplete entries
40               response($.map(data['instructors'], function(item) {
41                 return {
42                     value: item.name,
43                     label: item.name,
44                     url:   item.url
45                 };
46               }));
47             }
48           },
49           dataType: "json",
50           type: 'POST'
51         });
52       },
53       minLength: 3
54     });
55
56     $("#id_instructor_name").autocomplete(opts);
57   }
58 };
59
60 var bodyWidth = $('body').width();
61 if (bodyWidth < 700) {
62   var dialogWidth = bodyWidth;
63 } else {
64   var dialogWidth = 700;
65 }