move code up one directory
[atutor.git] / jscripts / lib / TILE.js
1
2  function queryPopUp(width,height,q,wname,url) {
3   var winopts = "resizable=yes,scrollbars=yes,toolbar=no,location=no,height=" + height + ",width=" + width;
4   var query = url + "&query=" + q; 
5   return window.open(query,wname,winopts);
6 }
7
8 function popUp(width,height,url,wname,smallwindow) {
9   var windowWidth = 0, windowHeight = 0;
10   if (smallwindow) {
11     windowWidth = width;
12     windowHeight = height;
13   }
14   else {
15       if (screen && screen.width && screen.height) {
16         // Desktop
17         windowWidth = screen.width;
18         windowHeight = screen.height * 0.85;
19       }
20       else if (window.innerWidth && window.innerHeight) {
21         //Non-IE
22         windowWidth = window.innerWidth;
23         windowHeight = window.innerHeight;
24       }
25       else if (document.documentElement &&
26                (document.documentElement.offsetWidth &&
27                 document.documentElement.offsetHeight)) {
28         //IE 6+ in 'standards compliant mode'
29         windowWidth = document.documentElement.offsetWidth;
30         windowHeight = document.documentElement.offsetHeight;
31       }
32       else if (document.body &&
33                (document.body.offsetWidth && document.body.offsetHeight)) {
34         //IE 4 compatible
35         windowWidth = document.body.offsetWidth;
36         windowHeight = document.body.offsetHeight;
37       }
38       else {
39         windowWidth = width;
40         windowHeight = height;
41       }
42   }
43   windowWidth *= 0.95;
44   var winopts = "resizable=yes,scrollbars=yes,toolbar=yes,location=no,height=" + windowHeight + ",width=" + windowWidth;
45   var helpWindowzzz = window.open(url,wname,winopts)
46   helpWindowzzz.focus();
47   helpWindowzzz.moveTo(0, 0);
48
49 }
50       function changeColour(c1, c2, c3) {
51   var frm = document.forms[1];
52   var c1Num = frm.elements[c1].selectedIndex;
53   var c2Num = frm.elements[c2].selectedIndex;
54   var c3Num = frm.elements[c3].selectedIndex;
55   if (c1Num == c2Num) {
56     if (c1Num == 0) {
57       frm.elements[c2].selectedIndex = 1;
58       c2Num = 1;
59     } else {
60       frm.elements[c2].selectedIndex = 0;
61       c2Num = 0;
62     }
63   } else if (c1Num == c3Num) {
64     if (c1Num == 0) {
65       frm.elements[c3].selectedIndex = 1;
66       c3Num = 1;
67     } else {
68       frm.elements[c3].selectedIndex = 0;
69       c3Num = 0;
70     }
71   }
72
73   if (c2Num == c3Num) {
74     if (c1Num == 0 || c1Num == 1) {
75       frm.elements[c3].selectedIndex = 2;
76     } else if (c2Num == 0) {
77       frm.elements[c3].selectedIndex = 1;
78     } else if (c2Num == 1) {
79       frm.elements[c3].selectedIndex = 0;
80     }
81   }
82 }
83
84 function setPreviewSize(fontVal) {
85         var docSize = (document.getElementById('defaultfontsize').value * document.getElementById('font_times').value)+'pt';
86         var docBase = document.getElementById('previewText');
87         docBase.style.fontSize = docSize;
88         docBase = document.getElementById('highlightedPreview');
89         docBase.style.fontSize = docSize;
90 }
91 function setPreviewFace() {
92         var faceSet = document.getElementById('fontface');
93         var faceVal = document.getElementById('fontface').value;
94         
95         if (faceVal == "") faceVal = document.getElementById('defaultfontface').value;;
96         
97         var docBase = document.getElementById('previewText');
98         docBase.style.fontFamily = faceVal;
99         docBase = document.getElementById('highlightedPreview');
100         docBase.style.fontFamily = faceVal;
101 }
102 function setPreviewColours() {
103         var fgSet = document.getElementById('fg');
104         var fgVal = document.getElementById('fg').value;
105         var bgSet = document.getElementById('bg');
106         var bgVal = document.getElementById('bg').value;
107         var hlSet = document.getElementById('hl');
108         var hlVal = document.getElementById('hl').value;
109
110         if (fgVal == "") fgVal = document.getElementById('defaultfg').value;
111         if (bgVal == "") bgVal = document.getElementById('defaultbg').value;
112         if (hlVal == "") hlVal = document.getElementById('defaulthl').value;
113
114   fgVal = '\#'+fgVal.substr(0,6);
115   bgVal = '\#'+bgVal.substr(0,6);
116   hlVal = '\#'+hlVal.substr(0,6);
117         
118         var docBase = document.getElementById('previewText');
119         docBase.style.color = fgVal;
120         docBase.style.backgroundColor = bgVal;
121
122         docBase = document.getElementById('highlightedPreview');
123         docBase.style.backgroundColor = hlVal;
124 }
125       function checkATTSignLang() {
126   var frm = document.forms[0];
127   var value = null;
128   if (frm.attSignLang[0].checked)
129     value = frm.attSignLang[0].value;
130   else if (frm.attSignLang[1].checked)
131     value = frm.attSignLang[1].value;
132
133   if (value == "false")
134     frm.attSignLangVal.disabled=true;
135   else if (value == "true")
136     frm.attSignLangVal.disabled=false;
137 }
138       function checkAudioDesc() {
139   var frm = document.forms[0];
140   var value = null;
141   if (frm.audioDesc[0].checked)
142     value = frm.audioDesc[0].value;
143   else if (frm.audioDesc[1].checked)
144     value = frm.audioDesc[1].value;
145
146   if (value == "false") {
147     frm.audioDescLang.disabled=true;
148     frm.audioDescType[0].disabled=true;
149     frm.audioDescType[1].disabled=true;
150   }
151   else if (value == "true") {
152     frm.audioDescLang.disabled=false;
153     frm.audioDescType[0].disabled=false;
154     frm.audioDescType[1].disabled=false;
155   }
156 }
157
158 function checkVisualText() {
159   var frm = document.forms[0];
160   var value = null;
161   if (frm.visualText[0].checked)
162     value = frm.visualText[0].value;
163   else if (frm.visualText[1].checked)
164     value = frm.visualText[1].value;
165
166   if (value == "false") {
167     frm.altTextLang.disabled=true;
168     frm.longDescLang.disabled=true;
169   }
170   else if (value == "true") {
171     frm.altTextLang.disabled=false;
172     frm.longDescLang.disabled=false;
173   }
174 }
175       function checkCaptions() {
176   var frm = document.forms[0];
177   var value = null;
178   if (frm.caption[0].checked)
179     value = frm.caption[0].value;
180   else if (frm.caption[1].checked)
181     value = frm.caption[1].value;
182
183   if (value == "false") {
184     frm.captionType[0].disabled=true;
185     frm.captionType[1].disabled=true;
186     frm.captionLang.disabled=true;
187     frm.enhancedCaption[0].disabled=true;
188     frm.enhancedCaption[1].disabled=true;
189     frm.reducedSpeed[0].disabled=true;
190     frm.reducedSpeed[1].disabled=true;
191     frm.captionRate.disabled=true;
192   }
193   else if (value == "true") {
194     frm.captionType[0].disabled=false;
195     frm.captionType[1].disabled=false;
196     frm.captionLang.disabled=false;
197     frm.enhancedCaption[0].disabled=false;
198     frm.enhancedCaption[1].disabled=false;
199     frm.reducedSpeed[0].disabled=false;
200     frm.reducedSpeed[1].disabled=false;
201     frm.captionRate.disabled=false;
202     checkCaptionRate();
203   }
204 }
205
206 function checkCaptionRate() {
207   var frm = document.forms[0];
208   var value = null;
209   if (frm.reducedSpeed[0].checked)
210     value = frm.reducedSpeed[0].value;
211   else if (frm.reducedSpeed[1].checked)
212     value = frm.reducedSpeed[1].value;
213
214   if (value == "false")
215     frm.captionRate.disabled=true;
216   else if (value == "true")
217     frm.captionRate.disabled=false;
218 }
219
220 function checkATASignLang() {
221   var frm = document.forms[0];
222   var value = null;
223   if (frm.ataSignLang[0].checked)
224     value = frm.ataSignLang[0].value;
225   else if (frm.ataSignLang[1].checked)
226     value = frm.ataSignLang[1].value;
227
228   if (value == "false")
229     frm.ataSignLangVal.disabled=true;
230   else if (value == "true")
231     frm.ataSignLangVal.disabled=false;
232 }
233
234 function allDigits(str) {
235   var digits = "0123456789";
236   var result = true;
237   for (var i = 0; i < str.length; i++) {
238     if (digits.indexOf(str.substr(i, 1)) < 0 ) {
239       result = false;
240       break;
241     }
242   }
243   return result;
244 }
245
246 function checkCaptionRateValue() {
247   var frm = document.forms[0];
248   var value = null;
249   var result = true;
250   if (!frm.captionRate.disabled) {
251     if (!allDigits(frm.captionRate.value)) {
252       alert('Please enter a number for the "Caption Rate" field.');
253       frm.captionRate.focus();
254       result = false;
255     }
256     else {
257       value = parseInt(frm.captionRate.value);
258       if (isNaN(value) || value < 1 || value > 300) {
259         alert('Please enter a number between 1 and 300 for the "Caption Rate" field.');
260         frm.captionRate.focus();
261         result = false;
262       }
263     }
264   } 
265   return result;
266 }
267       var cssFilter=/^http:\/\/.+\..{2,3}\/.+/;
268 function checkCSS() {
269   var theForm = document.forms[0];
270   if (!cssFilter.test(theForm.ssURL.value)) {
271     alert('Please enter a valid URL to a CSS file.');
272     return false;
273   }
274   return true;
275 }