remove old readme
[atutor.git] / docs / jscripts / ATutorCourse.js
1 /************************************************************************/
2 /* ATutor                                                               */
3 /************************************************************************/
4 /* Copyright (c) 2002 - 2010                                            */
5 /* Inclusive Design Institute                                           */
6 /* http://atutor.ca                                                     */
7 /*                                                                      */
8 /* This program is free software. You can redistribute it and/or        */
9 /* modify it under the terms of the GNU General Public License          */
10 /* as published by the Free Software Foundation.                        */
11 /** ********************************************************************* */
12 // $Id: $
13 var ATutor = ATutor || {};
14 ATutor.course = ATutor.course || {};
15
16 (function() {
17
18         var element_collapse_icon;
19         var element_expand_icon;
20         
21         var setExpandIcon = function (clickedElement, title) {
22                 clickedElement.attr("src", element_expand_icon)
23                 clickedElement.attr("alt", ATutor.course.show + " " + title);
24                 clickedElement.attr("title", ATutor.course.show + " " + title);
25                 ATutor.setcookie("m_"+title, 0, 1);
26         };
27         
28         var setCollapseIcon = function (clickedElement, title) {
29                 clickedElement.attr("src", element_collapse_icon);
30                 clickedElement.attr("alt", ATutor.course.hide + " " + title);
31                 clickedElement.attr("title", ATutor.course.hide + " " + title);
32                 ATutor.setcookie("m_"+title, null, 1);;
33
34         };
35         
36         // toggle elements in side menu (via the +/- icon in each side menu element)
37         function showHideSubmenu()
38         {
39                 var clickedElement = jQuery(this);
40                 var title = jQuery("span", clickedElement.parent()).html();
41                 if (clickedElement.attr("src") == element_collapse_icon) {
42                         setExpandIcon(clickedElement, title);
43                 }
44                 else {
45                         setCollapseIcon(clickedElement, title);
46                 }
47                 clickedElement.parent().next().slideToggle();
48         }
49         
50         //modifies the menu html to add title, expand/collapse image, alt text. 
51         var printSubmenus = function () {
52                 var sideMenuBoxHeadings = jQuery("h2.box");
53                 for (var titleIndex = 0; titleIndex < sideMenuBoxHeadings.length; titleIndex++) {
54                         var heading = jQuery(sideMenuBoxHeadings[titleIndex]);                          
55                         var title = jQuery("span", heading).html();
56                         var inputElement = jQuery("input", heading);
57                         var menu = jQuery(heading.next());
58                         if (ATutor.getcookie("m_" + title) == "0") {
59                                 setExpandIcon(inputElement, title);
60                                 menu.hide();
61                         } else {
62                                 setCollapseIcon(inputElement, title);
63                                 menu.show();    
64                         }
65                         inputElement.click(showHideSubmenu);
66                         
67                 }
68         };
69         
70         var menu_show_icon;
71         var menu_hide_icon;
72         
73         //Initialize the submenus
74         ATutor.course.doSideMenus = function () {
75                 element_collapse_icon = ATutor.base_href + "themes/" + ATutor.course.theme + "/images/mswitch_minus.gif";
76                 element_expand_icon = ATutor.base_href + "themes/" + ATutor.course.theme + "/images/mswitch_plus.gif";
77                 printSubmenus();                
78         };
79         
80         var hideMenu = function (effect) {
81                 var menuImage = jQuery("#menutoggle > a > img");
82                 menuImage.attr("src", menu_show_icon);
83                 menuImage.attr("alt", ATutor.course.show);
84                 menuImage.attr("title", ATutor.course.show);
85                 
86                 if (effect) {
87                         jQuery("#side-menu").slideUp("slow");
88                 } else {
89                         jQuery("#side-menu").hide();
90                 }
91                         
92                 ATutor.setcookie("side-menu", "none", 1);
93         };
94
95         var showMenu = function (effect) {              
96                 var menuImage = jQuery("#menutoggle > a > img");
97                 menuImage.attr("src", menu_hide_icon);
98                 menuImage.attr("alt", ATutor.course.hide);
99                 menuImage.attr("title", ATutor.course.hide);
100                 
101                 if (effect) {
102                         jQuery("#side-menu").slideDown("slow");
103                 } else {
104                         jQuery("#side-menu").show();
105                 }
106                 ATutor.setcookie("side-menu", "", 1);
107         };
108         
109         var showHideMenu = function () {
110                 var clickedElement = jQuery("img", this);
111                 if (clickedElement.attr("src") == menu_hide_icon) {
112                         hideMenu(true);
113                 }
114                 else {
115                         showMenu(true);
116                 }
117         };
118
119         var printMenuToggle = function (effect) {
120                 var state = ATutor.getcookie("side-menu");
121                 if (state && state=="none") { 
122                         hideMenu(effect);
123                 } else {
124                         showMenu(effect); 
125                 }
126                 var menuLink = jQuery("#menutoggle > a");
127                 menuLink.click(showHideMenu);   
128         };
129         
130         ATutor.course.doMenuToggle = function (effect) {
131                 menu_show_icon = ATutor.base_href + "themes/" + ATutor.course.theme + "/images/showmenu.gif";
132                 menu_hide_icon = ATutor.base_href +  "themes/" + ATutor.course.theme + "/images/hidemenu.gif"; 
133                 printMenuToggle();
134         };
135         
136         ATutor.course.toggleFolder = function (cid, expand, collapse, course_id) {
137                 if (jQuery("#tree_icon"+cid).attr("src") == ATutor.course.collapse_icon) {
138                         jQuery("#tree_icon"+cid).attr("src", ATutor.course.expand_icon);
139                         jQuery("#tree_icon"+cid).attr("alt", expand);
140                         jQuery("#tree_icon"+cid).attr("title", expand);
141                         ATutor.setcookie("c"+course_id+"_"+cid, null, 1);
142                 }
143                 else {
144                         jQuery("#tree_icon"+cid).attr("src", ATutor.course.collapse_icon);
145                         jQuery("#tree_icon"+cid).attr("alt", collapse);
146                         jQuery("#tree_icon"+cid).attr("title", collapse);
147                         ATutor.setcookie("c"+course_id+"_"+cid, "1", 1);
148                 }
149                 
150                 jQuery("#folder"+cid).slideToggle();
151         };
152
153 })();