1 // ************************************************************************
\r
3 // ************************************************************************
\r
4 // * Copyright (c) 2009 *
\r
5 // * Adaptive Technology Resource Centre / University of Toronto *
\r
7 // * This program is free software. You can redistribute it and/or *
\r
8 // * modify it under the terms of the GNU General Public License *
\r
9 // * as published by the Free Software Foundation. *
\r
10 // ************************************************************************
\r
12 var trans = trans || {};
\r
13 trans.utility = trans.utility || {};
\r
14 trans.course = trans.course || {};
\r
15 trans.editor = trans.editor || {};
\r
17 trans.utility.selected;
\r
21 * pops up a 600 * 600 new window
\r
23 trans.utility.poptastic = function (url) {
\r
24 var newwindow=window.open(url,'popup','height=600,width=600,scrollbars=yes,resizable=yes');
\r
25 if (window.focus) {newwindow.focus()}
\r
27 // ATutor.poptastic = function (url) {
\r
28 // var newwindow=window.open(url,'popup','height=600,width=600,scrollbars=yes,resizable=yes');
\r
29 // if (window.focus) {
\r
30 // newwindow.focus();
\r
34 trans.utility.getexpirydate = function (nodays){
\r
37 nomilli=Date.parse(Today);
\r
38 Today.setTime(nomilli+nodays*24*60*60*1000);
\r
39 UTCstring = Today.toUTCString();
\r
44 * set cookie value and expiry
\r
46 trans.utility.setcookie = function (name,value,duration){
\r
47 cookiestring=name+"="+escape(value)+";path=/;expires="+trans.utility.getexpirydate(duration);
\r
48 document.cookie=cookiestring;
\r
49 if(!trans.utility.getcookie(name)){
\r
59 trans.utility.getcookie = function (cookiename) {
\r
60 var cookiestring=""+document.cookie;
\r
61 var index1=cookiestring.indexOf(cookiename);
\r
62 if (index1==-1 || cookiename=="") return "";
\r
63 var index2=cookiestring.indexOf(';',index1);
\r
64 if (index2==-1) index2=cookiestring.length;
\r
65 return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
\r
68 trans.utility.setDisplay = function (objId) {
\r
69 var toc = document.getElementById(objId);
\r
71 var state = trans.utility.getcookie(objId);
\r
72 if (document.getElementById(objId) && state && (state == 'none')) {
\r
73 trans.utility.toggleToc(objId);
\r
77 trans.utility.setstates = function () {
\r
79 var objId = "side-menu";
\r
80 var state = trans.utility.getcookie(objId);
\r
81 if (document.getElementById(objId) && state && (state == 'none')) {
\r
82 trans.utility.toggleToc(objId);
\r
85 var objId = "toccontent";
\r
86 var state = trans.utility.getcookie(objId);
\r
87 if (document.getElementById(objId) && state && (state == 'none')) {
\r
88 trans.utility.toggleToc(objId);
\r
92 trans.utility.showTocToggle = function (objId, show, hide, key, selected) {
\r
93 if(document.getElementById) {
\r
95 var accesskey = " accesskey='" + key + "' title='"+ show + "/" + hide + " Alt - "+ key +"'";
\r
100 if (selected == 'hide') {
\r
101 document.writeln('<a href="javascript:trans.utility.toggleToc(\'' + objId + '\')" ' + accesskey + '>' +
\r
102 '<span id="' + objId + 'showlink" style="display:none;">' + show + '</span>' +
\r
103 '<span id="' + objId + 'hidelink">' + hide + '</span>' + '</a>');
\r
105 document.writeln('<a href="javascript:trans.utility.toggleToc(\'' + objId + '\')" ' + accesskey + '>' +
\r
106 '<span id="' + objId + 'showlink">' + show + '</span>' +
\r
107 '<span id="' + objId + 'hidelink" style="display:none;">' + hide + '</span>' + '</a>');
\r
112 trans.utility.toggleToc = function (objId) {
\r
113 var toc = document.getElementById(objId);
\r
117 var showlink=document.getElementById(objId + 'showlink');
\r
118 var hidelink=document.getElementById(objId + 'hidelink');
\r
120 if (hidelink.style.display == 'none') {
\r
121 document.getElementById('contentcolumn').id="contentcolumn_shiftright";
\r
122 jQuery("[id="+objId+"]").slideDown("slow");
\r
123 hidelink.style.display='';
\r
124 showlink.style.display='none';
\r
126 document.getElementById('contentcolumn_shiftright').id="contentcolumn";
\r
127 jQuery("[id="+objId+"]").slideUp("slow");
\r
128 hidelink.style.display='none';
\r
129 showlink.style.display='';
\r
131 trans.utility.setcookie(objId, hidelink.style.display, 1);
\r
134 // toggle a div, for example "create user group" => "add privileges" section
\r
135 trans.utility.toggleDiv = function (objId) {
\r
136 var toc = document.getElementById(objId);
\r
137 if (toc == null) return;
\r
139 if (toc.style.display == 'none')
\r
141 toc.style.display = '';
\r
142 document.getElementById("toggle_image").src = "images/arrow-open.png";
\r
143 document.getElementById("toggle_image").alt = "Collapse";
\r
144 document.getElementById("toggle_image").title = "Collapse";
\r
148 toc.style.display = 'none';
\r
149 document.getElementById("toggle_image").src = "images/arrow-closed.png";
\r
150 document.getElementById("toggle_image").alt = "Expand";
\r
151 document.getElementById("toggle_image").title = "Expand";
\r
155 // toggle content folder in side menu "content navigation"
\r
156 trans.utility.toggleFolder = function (cid, expand_text, collapse_text, course_id)
\r
158 if (jQuery("#tree_icon"+cid).attr("src") == tree_collapse_icon) {
\r
159 jQuery("#tree_icon"+cid).attr("src", tree_expand_icon);
\r
160 jQuery("#tree_icon"+cid).attr("alt", expand_text);
\r
161 jQuery("#tree_icon"+cid).attr("title", expand_text);
\r
162 trans.utility.setcookie("t.c"+course_id+"_"+cid, null, 1);
\r
165 jQuery("#tree_icon"+cid).attr("src", tree_collapse_icon);
\r
166 jQuery("#tree_icon"+cid).attr("alt", collapse_text);
\r
167 jQuery("#tree_icon"+cid).attr("title", collapse_text);
\r
168 trans.utility.setcookie("t.c"+course_id+"_"+cid, "1", 1);
\r
171 jQuery("#folder"+cid).slideToggle();
\r
174 // toggle elements in side menu
\r
175 trans.utility.elementToggle = function (elem, title, compact_title, base_path, show_text, hide_text)
\r
177 element_collapse_icon = base_path+"images/mswitch_minus.gif";
\r
178 element_expand_icon = base_path+"images/mswitch_plus.gif";
\r
180 if (jQuery(elem).attr("src") == element_collapse_icon) {
\r
181 jQuery(elem).attr("src", element_expand_icon);
\r
182 jQuery(elem).attr("alt", show_text + " "+ title);
\r
183 jQuery(elem).attr("title", show_text + " "+ title);
\r
184 trans.utility.setcookie("m_"+compact_title, 0, 1);
\r
187 jQuery(elem).attr("src", element_collapse_icon);
\r
188 jQuery(elem).attr("alt", hide_text + " "+ title);
\r
189 jQuery(elem).attr("title", hide_text + " "+ title);
\r
190 trans.utility.setcookie("m_"+compact_title, 1, 1);;
\r
193 jQuery(elem).parent().next().slideToggle();
\r
196 trans.utility.printSubmenuHeader = function (title, compact_title, base_path, show_text, hide_text, default_value)
\r
198 cookie_value = trans.utility.getcookie("m_"+compact_title);
\r
200 if (cookie_value == "0" || (cookie_value == "" && default_value == "hide"))
\r
202 image = base_path + "images/mswitch_plus.gif";
\r
203 alt_text = show_text + " " + title;
\r
207 image = base_path+"images/mswitch_minus.gif";
\r
208 alt_text = hide_text + " " + title;
\r
211 document.writeln('<h4 class="box">'+
\r
212 ' <input src="'+image+'"' +
\r
213 ' onclick="trans.utility.elementToggle(this, \''+title+'\', \''+compact_title+'\', \''+base_path+'\', \''+show_text+'\', \''+hide_text+'\'); return false;"' +
\r
214 ' alt="'+ alt_text + '" ' +
\r
215 ' title="'+ alt_text + '"' +
\r
216 ' style="float:right" type="image" /> '+ title +
\r
220 trans.utility.rowselect = function (obj) {
\r
221 obj.className = 'selected';
\r
222 if (trans.utility.selected && trans.utility.selected != obj.id)
\r
223 document.getElementById(trans.utility.selected).className = '';
\r
224 trans.utility.selected = obj.id;
\r
227 trans.utility.rowselectbox = function (obj, checked, handler) {
\r
228 var functionDemo = new Function(handler + ";");
\r
232 obj.className = 'selected';
\r
234 obj.className = '';
\r