NameSpace: SGL.html

File SGL.html, 123.7 kB (added by randy, 6 years ago)

SGL Globals

Line 
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2 <html><head><title></title><meta http-equiv="Content-type" content="text/html; charset=windows-1251" />
3 <style>
4         table.dBug_array,table.dBug_object,table.dBug_resource,table.dBug_resourceC,table.dBug_xml {
5                 font-family:Verdana, Arial, Helvetica, sans-serif; color:#000000; font-size:12px;
6         }
7        
8         .dBug_arrayHeader,
9         .dBug_objectHeader,
10         .dBug_resourceHeader,
11         .dBug_resourceCHeader,
12         .dBug_xmlHeader
13                 { font-weight:bold; color:#FFFFFF; }
14        
15         /* array */
16         table.dBug_array { background-color:#006600; }
17         table.dBug_array td { background-color:#FFFFFF; }
18         table.dBug_array td.dBug_arrayHeader { background-color:#009900; }
19         table.dBug_array td.dBug_arrayKey { background-color:#CCFFCC; }
20        
21         /* object */
22         table.dBug_object { background-color:#0000CC; }
23         table.dBug_object td { background-color:#FFFFFF; }
24         table.dBug_object td.dBug_objectHeader { background-color:#4444CC; }
25         table.dBug_object td.dBug_objectKey { background-color:#CCDDFF; }
26        
27         /* resource */
28         table.dBug_resourceC { background-color:#884488; }
29         table.dBug_resourceC td { background-color:#FFFFFF; }
30         table.dBug_resourceC td.dBug_resourceCHeader { background-color:#AA66AA; }
31         table.dBug_resourceC td.dBug_resourceCKey { background-color:#FFDDFF; }
32        
33         /* resource */
34         table.dBug_resource { background-color:#884488; }
35         table.dBug_resource td { background-color:#FFFFFF; }
36         table.dBug_resource td.dBug_resourceHeader { background-color:#AA66AA; }
37         table.dBug_resource td.dBug_resourceKey { background-color:#FFDDFF; }
38         table.dBug_resource td.dBug_resourceKey2 { background-color:#FFDDFF; }
39        
40         /* xml */
41         table.dBug_xml { background-color:#888888; }
42         table.dBug_xml td { background-color:#FFFFFF; }
43         table.dBug_xml td.dBug_xmlHeader { background-color:#AAAAAA; }
44         table.dBug_xml td.dBug_xmlKey { background-color:#DDDDDD; }
45 </style>
46 <script type="text/javascript">
47 /*  Prototype JavaScript framework, version 1.4.0
48  *  (c) 2005 Sam Stephenson <sam@conio.net>
49  *
50  *  THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff
51  *  against the source tree, available from the Prototype darcs repository.
52  *
53  *  Prototype is freely distributable under the terms of an MIT-style license.
54  *
55  *  For details, see the Prototype web site: http://prototype.conio.net/
56  *
57 /*--------------------------------------------------------------------------*/
58
59 var Prototype = {
60   Version: '1.4.0',
61   ScriptFragment: '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',
62
63   emptyFunction: function() {},
64   K: function(x) {return x}
65 }
66
67 var Class = {
68   create: function() {
69     return function() {
70       this.initialize.apply(this, arguments);
71     }
72   }
73 }
74
75 var Abstract = new Object();
76
77 Object.extend = function(destination, source) {
78   for (property in source) {
79     destination[property] = source[property];
80   }
81   return destination;
82 }
83
84 Object.inspect = function(object) {
85   try {
86     if (object == undefined) return 'undefined';
87     if (object == null) return 'null';
88     return object.inspect ? object.inspect() : object.toString();
89   } catch (e) {
90     if (e instanceof RangeError) return '...';
91     throw e;
92   }
93 }
94
95 Function.prototype.bind = function() {
96   var __method = this, args = $A(arguments), object = args.shift();
97   return function() {
98     return __method.apply(object, args.concat($A(arguments)));
99   }
100 }
101
102 Function.prototype.bindAsEventListener = function(object) {
103   var __method = this;
104   return function(event) {
105     return __method.call(object, event || window.event);
106   }
107 }
108
109 Object.extend(Number.prototype, {
110   toColorPart: function() {
111     var digits = this.toString(16);
112     if (this < 16) return '0' + digits;
113     return digits;
114   },
115
116   succ: function() {
117     return this + 1;
118   },
119
120   times: function(iterator) {
121     $R(0, this, true).each(iterator);
122     return this;
123   }
124 });
125
126 var Try = {
127   these: function() {
128     var returnValue;
129
130     for (var i = 0; i < arguments.length; i++) {
131       var lambda = arguments[i];
132       try {
133         returnValue = lambda();
134         break;
135       } catch (e) {}
136     }
137
138     return returnValue;
139   }
140 }
141
142 /*--------------------------------------------------------------------------*/
143
144 var PeriodicalExecuter = Class.create();
145 PeriodicalExecuter.prototype = {
146   initialize: function(callback, frequency) {
147     this.callback = callback;
148     this.frequency = frequency;
149     this.currentlyExecuting = false;
150
151     this.registerCallback();
152   },
153
154   registerCallback: function() {
155     setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
156   },
157
158   onTimerEvent: function() {
159     if (!this.currentlyExecuting) {
160       try {
161         this.currentlyExecuting = true;
162         this.callback();
163       } finally {
164         this.currentlyExecuting = false;
165       }
166     }
167   }
168 }
169
170 /*--------------------------------------------------------------------------*/
171
172 function $() {
173   var elements = new Array();
174
175   for (var i = 0; i < arguments.length; i++) {
176     var element = arguments[i];
177     if (typeof element == 'string')
178       element = document.getElementById(element);
179
180     if (arguments.length == 1)
181       return element;
182
183     elements.push(element);
184   }
185
186   return elements;
187 }
188 Object.extend(String.prototype, {
189   stripTags: function() {
190     return this.replace(/<\/?[^>]+>/gi, '');
191   },
192
193   stripScripts: function() {
194     return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
195   },
196
197   extractScripts: function() {
198     var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
199     var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
200     return (this.match(matchAll) || []).map(function(scriptTag) {
201       return (scriptTag.match(matchOne) || ['', ''])[1];
202     });
203   },
204
205   evalScripts: function() {
206     return this.extractScripts().map(eval);
207   },
208
209   escapeHTML: function() {
210     var div = document.createElement('div');
211     var text = document.createTextNode(this);
212     div.appendChild(text);
213     return div.innerHTML;
214   },
215
216   unescapeHTML: function() {
217     var div = document.createElement('div');
218     div.innerHTML = this.stripTags();
219     return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
220   },
221
222   toQueryParams: function() {
223     var pairs = this.match(/^\??(.*)$/)[1].split('&');
224     return pairs.inject({}, function(params, pairString) {
225       var pair = pairString.split('=');
226       params[pair[0]] = pair[1];
227       return params;
228     });
229   },
230
231   toArray: function() {
232     return this.split('');
233   },
234
235   camelize: function() {
236     var oStringList = this.split('-');
237     if (oStringList.length == 1) return oStringList[0];
238
239     var camelizedString = this.indexOf('-') == 0
240       ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)
241       : oStringList[0];
242
243     for (var i = 1, len = oStringList.length; i < len; i++) {
244       var s = oStringList[i];
245       camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
246     }
247
248     return camelizedString;
249   },
250
251   inspect: function() {
252     return "'" + this.replace('\\', '\\\\').replace("'", '\\\'') + "'";
253   }
254 });
255
256 String.prototype.parseQuery = String.prototype.toQueryParams;
257
258 var $break    = new Object();
259 var $continue = new Object();
260
261 var Enumerable = {
262   each: function(iterator) {
263     var index = 0;
264     try {
265       this._each(function(value) {
266         try {
267           iterator(value, index++);
268         } catch (e) {
269           if (e != $continue) throw e;
270         }
271       });
272     } catch (e) {
273       if (e != $break) throw e;
274     }
275   },
276
277   all: function(iterator) {
278     var result = true;
279     this.each(function(value, index) {
280       result = result && !!(iterator || Prototype.K)(value, index);
281       if (!result) throw $break;
282     });
283     return result;
284   },
285
286   any: function(iterator) {
287     var result = true;
288     this.each(function(value, index) {
289       if (result = !!(iterator || Prototype.K)(value, index))
290         throw $break;
291     });
292     return result;
293   },
294
295   collect: function(iterator) {
296     var results = [];
297     this.each(function(value, index) {
298       results.push(iterator(value, index));
299     });
300     return results;
301   },
302
303   detect: function (iterator) {
304     var result;
305     this.each(function(value, index) {
306       if (iterator(value, index)) {
307         result = value;
308         throw $break;
309       }
310     });
311     return result;
312   },
313
314   findAll: function(iterator) {
315     var results = [];
316     this.each(function(value, index) {
317       if (iterator(value, index))
318         results.push(value);
319     });
320     return results;
321   },
322
323   grep: function(pattern, iterator) {
324     var results = [];
325     this.each(function(value, index) {
326       var stringValue = value.toString();
327       if (stringValue.match(pattern))
328         results.push((iterator || Prototype.K)(value, index));
329     })
330     return results;
331   },
332
333   include: function(object) {
334     var found = false;
335     this.each(function(value) {
336       if (value == object) {
337         found = true;
338         throw $break;
339       }
340     });
341     return found;
342   },
343
344   inject: function(memo, iterator) {
345     this.each(function(value, index) {
346       memo = iterator(memo, value, index);
347     });
348     return memo;
349   },
350
351   invoke: function(method) {
352     var args = $A(arguments).slice(1);
353     return this.collect(function(value) {
354       return value[method].apply(value, args);
355     });
356   },
357
358   max: function(iterator) {
359     var result;
360     this.each(function(value, index) {
361       value = (iterator || Prototype.K)(value, index);
362       if (value >= (result || value))
363         result = value;
364     });
365     return result;
366   },
367
368   min: function(iterator) {
369     var result;
370     this.each(function(value, index) {
371       value = (iterator || Prototype.K)(value, index);
372       if (value <= (result || value))
373         result = value;
374     });
375     return result;
376   },
377
378   partition: function(iterator) {
379     var trues = [], falses = [];
380     this.each(function(value, index) {
381       ((iterator || Prototype.K)(value, index) ?
382         trues : falses).push(value);
383     });
384     return [trues, falses];
385   },
386
387   pluck: function(property) {
388     var results = [];
389     this.each(function(value, index) {
390       results.push(value[property]);
391     });
392     return results;
393   },
394
395   reject: function(iterator) {
396     var results = [];
397     this.each(function(value, index) {
398       if (!iterator(value, index))
399         results.push(value);
400     });
401     return results;
402   },
403
404   sortBy: function(iterator) {
405     return this.collect(function(value, index) {
406       return {value: value, criteria: iterator(value, index)};
407     }).sort(function(left, right) {
408       var a = left.criteria, b = right.criteria;
409       return a < b ? -1 : a > b ? 1 : 0;
410     }).pluck('value');
411   },
412
413   toArray: function() {
414     return this.collect(Prototype.K);
415   },
416
417   zip: function() {
418     var iterator = Prototype.K, args = $A(arguments);
419     if (typeof args.last() == 'function')
420       iterator = args.pop();
421
422     var collections = [this].concat(args).map($A);
423     return this.map(function(value, index) {
424       iterator(value = collections.pluck(index));
425       return value;
426     });
427   },
428
429   inspect: function() {
430     return '#<Enumerable:' + this.toArray().inspect() + '>';
431   }
432 }
433
434 Object.extend(Enumerable, {
435   map:     Enumerable.collect,
436   find:    Enumerable.detect,
437   select:  Enumerable.findAll,
438   member:  Enumerable.include,
439   entries: Enumerable.toArray
440 });
441 var $A = Array.from = function(iterable) {
442   if (!iterable) return [];
443   if (iterable.toArray) {
444     return iterable.toArray();
445   } else {
446     var results = [];
447     for (var i = 0; i < iterable.length; i++)
448       results.push(iterable[i]);
449     return results;
450   }
451 }
452
453 Object.extend(Array.prototype, Enumerable);
454
455 Array.prototype._reverse = Array.prototype.reverse;
456
457 Object.extend(Array.prototype, {
458   _each: function(iterator) {
459     for (var i = 0; i < this.length; i++)
460       iterator(this[i]);
461   },
462
463   clear: function() {
464     this.length = 0;
465     return this;
466   },
467
468   first: function() {
469     return this[0];
470   },
471
472   last: function() {
473     return this[this.length - 1];
474   },
475
476   compact: function() {
477     return this.select(function(value) {
478       return value != undefined || value != null;
479     });
480   },
481
482   flatten: function() {
483     return this.inject([], function(array, value) {
484       return array.concat(value.constructor == Array ?
485         value.flatten() : [value]);
486     });
487   },
488
489   without: function() {
490     var values = $A(arguments);
491     return this.select(function(value) {
492       return !values.include(value);
493     });
494   },
495
496   indexOf: function(object) {
497     for (var i = 0; i < this.length; i++)
498       if (this[i] == object) return i;
499     return -1;
500   },
501
502   reverse: function(inline) {
503     return (inline !== false ? this : this.toArray())._reverse();
504   },
505
506   shift: function() {
507     var result = this[0];
508     for (var i = 0; i < this.length - 1; i++)
509       this[i] = this[i + 1];
510     this.length--;
511     return result;
512   },
513
514   inspect: function() {
515     return '[' + this.map(Object.inspect).join(', ') + ']';
516   }
517 });
518 var Hash = {
519   _each: function(iterator) {
520     for (key in this) {
521       var value = this[key];
522       if (typeof value == 'function') continue;
523
524       var pair = [key, value];
525       pair.key = key;
526       pair.value = value;
527       iterator(pair);
528     }
529   },
530
531   keys: function() {
532     return this.pluck('key');
533   },
534
535   values: function() {
536     return this.pluck('value');
537   },
538
539   merge: function(hash) {
540     return $H(hash).inject($H(this), function(mergedHash, pair) {
541       mergedHash[pair.key] = pair.value;
542       return mergedHash;
543     });
544   },
545
546   toQueryString: function() {
547     return this.map(function(pair) {
548       return pair.map(encodeURIComponent).join('=');
549     }).join('&');
550   },
551
552   inspect: function() {
553     return '#<Hash:{' + this.map(function(pair) {
554       return pair.map(Object.inspect).join(': ');
555     }).join(', ') + '}>';
556   }
557 }
558
559 function $H(object) {
560   var hash = Object.extend({}, object || {});
561   Object.extend(hash, Enumerable);
562   Object.extend(hash, Hash);
563   return hash;
564 }
565 ObjectRange = Class.create();
566 Object.extend(ObjectRange.prototype, Enumerable);
567 Object.extend(ObjectRange.prototype, {
568   initialize: function(start, end, exclusive) {
569     this.start = start;
570     this.end = end;
571     this.exclusive = exclusive;
572   },
573
574   _each: function(iterator) {
575     var value = this.start;
576     do {
577       iterator(value);
578       value = value.succ();
579     } while (this.include(value));
580   },
581
582   include: function(value) {
583     if (value < this.start)
584       return false;
585     if (this.exclusive)
586       return value < this.end;
587     return value <= this.end;
588   }
589 });
590
591 var $R = function(start, end, exclusive) {
592   return new ObjectRange(start, end, exclusive);
593 }
594
595 var Ajax = {
596   getTransport: function() {
597     return Try.these(
598       function() {return new ActiveXObject('Msxml2.XMLHTTP')},
599       function() {return new ActiveXObject('Microsoft.XMLHTTP')},
600       function() {return new XMLHttpRequest()}
601     ) || false;
602   },
603
604   activeRequestCount: 0
605 }
606
607 Ajax.Responders = {
608   responders: [],
609
610   _each: function(iterator) {
611     this.responders._each(iterator);
612   },
613
614   register: function(responderToAdd) {
615     if (!this.include(responderToAdd))
616       this.responders.push(responderToAdd);
617   },
618
619   unregister: function(responderToRemove) {
620     this.responders = this.responders.without(responderToRemove);
621   },
622
623   dispatch: function(callback, request, transport, json) {
624     this.each(function(responder) {
625       if (responder[callback] && typeof responder[callback] == 'function') {
626         try {
627           responder[callback].apply(responder, [request, transport, json]);
628         } catch (e) {}
629       }
630     });
631   }
632 };
633
634 Object.extend(Ajax.Responders, Enumerable);
635
636 Ajax.Responders.register({
637   onCreate: function() {
638     Ajax.activeRequestCount++;
639   },
640
641   onComplete: function() {
642     Ajax.activeRequestCount--;
643   }
644 });
645
646 Ajax.Base = function() {};
647 Ajax.Base.prototype = {
648   setOptions: function(options) {
649     this.options = {
650       method:       'post',
651       asynchronous: true,
652       parameters:   ''
653     }
654     Object.extend(this.options, options || {});
655   },
656
657   responseIsSuccess: function() {
658     return this.transport.status == undefined
659         || this.transport.status == 0
660         || (this.transport.status >= 200 && this.transport.status < 300);
661   },
662
663   responseIsFailure: function() {
664     return !this.responseIsSuccess();
665   }
666 }
667
668 Ajax.Request = Class.create();
669 Ajax.Request.Events =
670   ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
671
672 Ajax.Request.prototype = Object.extend(new Ajax.Base(), {
673   initialize: function(url, options) {
674     this.transport = Ajax.getTransport();
675     this.setOptions(options);
676     this.request(url);
677   },
678
679   request: function(url) {
680     var parameters = this.options.parameters || '';
681     if (parameters.length > 0) parameters += '&_=';
682
683     try {
684       this.url = url;
685       if (this.options.method == 'get' && parameters.length > 0)
686         this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
687
688       Ajax.Responders.dispatch('onCreate', this, this.transport);
689
690       this.transport.open(this.options.method, this.url,
691         this.options.asynchronous);
692
693       if (this.options.asynchronous) {
694         this.transport.onreadystatechange = this.onStateChange.bind(this);
695         setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);
696       }
697
698       this.setRequestHeaders();
699
700       var body = this.options.postBody ? this.options.postBody : parameters;
701       this.transport.send(this.options.method == 'post' ? body : null);
702
703     } catch (e) {
704       this.dispatchException(e);
705     }
706   },
707
708   setRequestHeaders: function() {
709     var requestHeaders =
710       ['X-Requested-With', 'XMLHttpRequest',
711        'X-Prototype-Version', Prototype.Version];
712
713     if (this.options.method == 'post') {
714       requestHeaders.push('Content-type',
715         'application/x-www-form-urlencoded');
716
717       /* Force "Connection: close" for Mozilla browsers to work around
718        * a bug where XMLHttpReqeuest sends an incorrect Content-length
719        * header. See Mozilla Bugzilla #246651.
720        */
721       if (this.transport.overrideMimeType)
722         requestHeaders.push('Connection', 'close');
723     }
724
725     if (this.options.requestHeaders)
726       requestHeaders.push.apply(requestHeaders, this.options.requestHeaders);
727
728     for (var i = 0; i < requestHeaders.length; i += 2)
729       this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]);
730   },
731
732   onStateChange: function() {
733     var readyState = this.transport.readyState;
734     if (readyState != 1)
735       this.respondToReadyState(this.transport.readyState);
736   },
737
738   header: function(name) {
739     try {
740       return this.transport.getResponseHeader(name);
741     } catch (e) {}
742   },
743
744   evalJSON: function() {
745     try {
746       return eval(this.header('X-JSON'));
747     } catch (e) {}
748   },
749
750   evalResponse: function() {
751     try {
752       return eval(this.transport.responseText);
753     } catch (e) {
754       this.dispatchException(e);
755     }
756   },
757
758   respondToReadyState: function(readyState) {
759     var event = Ajax.Request.Events[readyState];
760     var transport = this.transport, json = this.evalJSON();
761
762     if (event == 'Complete') {
763       try {
764         (this.options['on' + this.transport.status]
765          || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')]
766          || Prototype.emptyFunction)(transport, json);
767       } catch (e) {
768         this.dispatchException(e);
769       }
770
771       if ((this.header('Content-type') || '').match(/^text\/javascript/i))
772         this.evalResponse();
773     }
774
775     try {
776       (this.options['on' + event] || Prototype.emptyFunction)(transport, json);
777       Ajax.Responders.dispatch('on' + event, this, transport, json);
778     } catch (e) {
779       this.dispatchException(e);
780     }
781
782     /* Avoid memory leak in MSIE: clean up the oncomplete event handler */
783     if (event == 'Complete')
784       this.transport.onreadystatechange = Prototype.emptyFunction;
785   },
786
787   dispatchException: function(exception) {
788     (this.options.onException || Prototype.emptyFunction)(this, exception);
789     Ajax.Responders.dispatch('onException', this, exception);
790   }
791 });
792
793 Ajax.Updater = Class.create();
794
795 Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), {
796   initialize: function(container, url, options) {
797     this.containers = {
798       success: container.success ? $(container.success) : $(container),
799       failure: container.failure ? $(container.failure) :
800         (container.success ? null : $(container))
801     }
802
803     this.transport = Ajax.getTransport();
804     this.setOptions(options);
805
806     var onComplete = this.options.onComplete || Prototype.emptyFunction;
807     this.options.onComplete = (function(transport, object) {
808       this.updateContent();
809       onComplete(transport, object);
810     }).bind(this);
811
812     this.request(url);
813   },
814
815   updateContent: function() {
816     var receiver = this.responseIsSuccess() ?
817       this.containers.success : this.containers.failure;
818     var response = this.transport.responseText;
819
820     if (!this.options.evalScripts)
821       response = response.stripScripts();
822
823     if (receiver) {
824       if (this.options.insertion) {
825         new this.options.insertion(receiver, response);
826       } else {
827         Element.update(receiver, response);
828       }
829     }
830
831     if (this.responseIsSuccess()) {
832       if (this.onComplete)
833         setTimeout(this.onComplete.bind(this), 10);
834     }
835   }
836 });
837
838 Ajax.PeriodicalUpdater = Class.create();
839 Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), {
840   initialize: function(container, url, options) {
841     this.setOptions(options);
842     this.onComplete = this.options.onComplete;
843
844     this.frequency = (this.options.frequency || 2);
845     this.decay = (this.options.decay || 1);
846
847     this.updater = {};
848     this.container = container;
849     this.url = url;
850
851     this.start();
852   },
853
854   start: function() {
855     this.options.onComplete = this.updateComplete.bind(this);
856     this.onTimerEvent();
857   },
858
859   stop: function() {
860     this.updater.onComplete = undefined;
861     clearTimeout(this.timer);
862     (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
863   },
864
865   updateComplete: function(request) {
866     if (this.options.decay) {
867       this.decay = (request.responseText == this.lastText ?
868         this.decay * this.options.decay : 1);
869
870       this.lastText = request.responseText;
871     }
872     this.timer = setTimeout(this.onTimerEvent.bind(this),
873       this.decay * this.frequency * 1000);
874   },
875
876   onTimerEvent: function() {
877     this.updater = new Ajax.Updater(this.container, this.url, this.options);
878   }
879 });
880 document.getElementsByClassName = function(className, parentElement) {
881   var children = ($(parentElement) || document.body).getElementsByTagName('*');
882   return $A(children).inject([], function(elements, child) {
883     if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
884       elements.push(child);
885     return elements;
886   });
887 }
888
889 /*--------------------------------------------------------------------------*/
890
891 if (!window.Element) {
892   var Element = new Object();
893 }
894
895 Object.extend(Element, {
896   visible: function(element) {
897     return $(element).style.display != 'none';
898   },
899
900   toggle: function() {
901     for (var i = 0; i < arguments.length; i++) {
902       var element = $(arguments[i]);
903       Element[Element.visible(element) ? 'hide' : 'show'](element);
904     }
905   },
906
907   hide: function() {
908     for (var i = 0; i < arguments.length; i++) {
909       var element = $(arguments[i]);
910       element.style.display = 'none';
911     }
912   },
913
914   show: function() {
915     for (var i = 0; i < arguments.length; i++) {
916       var element = $(arguments[i]);
917       element.style.display = '';
918     }
919   },
920
921   remove: function(element) {
922     element = $(element);
923     element.parentNode.removeChild(element);
924   },
925
926   update: function(element, html) {
927     $(element).innerHTML = html.stripScripts();
928     setTimeout(function() {html.evalScripts()}, 10);
929   },
930
931   getHeight: function(element) {
932     element = $(element);
933     return element.offsetHeight;
934   },
935
936   classNames: function(element) {
937     return new Element.ClassNames(element);
938   },
939
940   hasClassName: function(element, className) {
941     if (!(element = $(element))) return;
942     return Element.classNames(element).include(className);
943   },
944
945   addClassName: function(element, className) {
946     if (!(element = $(element))) return;
947     return Element.classNames(element).add(className);
948   },
949
950   removeClassName: function(element, className) {
951     if (!(element = $(element))) return;
952     return Element.classNames(element).remove(className);
953   },
954
955   // removes whitespace-only text node children
956   cleanWhitespace: function(element) {
957     element = $(element);
958     for (var i = 0; i < element.childNodes.length; i++) {
959       var node = element.childNodes[i];
960       if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
961         Element.remove(node);
962     }
963   },
964
965   empty: function(element) {
966     return $(element).innerHTML.match(/^\s*$/);
967   },
968
969   scrollTo: function(element) {
970     element = $(element);
971     var x = element.x ? element.x : element.offsetLeft,
972         y = element.y ? element.y : element.offsetTop;
973     window.scrollTo(x, y);
974   },
975
976   getStyle: function(element, style) {
977     element = $(element);
978     var value = element.style[style.camelize()];
979     if (!value) {
980       if (document.defaultView && document.defaultView.getComputedStyle) {
981         var css = document.defaultView.getComputedStyle(element, null);
982         value = css ? css.getPropertyValue(style) : null;
983       } else if (element.currentStyle) {
984         value = element.currentStyle[style.camelize()];
985       }
986     }
987
988     if (window.opera && ['left', 'top', 'right', 'bottom'].include(style))
989       if (Element.getStyle(element, 'position') == 'static') value = 'auto';
990
991     return value == 'auto' ? null : value;
992   },
993
994   setStyle: function(element, style) {
995     element = $(element);
996     for (name in style)
997       element.style[name.camelize()] = style[name];
998   },
999
1000   getDimensions: function(element) {
1001     element = $(element);
1002     if (Element.getStyle(element, 'display') != 'none')
1003       return {width: element.offsetWidth, height: element.offsetHeight};
1004
1005     // All *Width and *Height properties give 0 on elements with display none,
1006     // so enable the element temporarily
1007     var els = element.style;
1008     var originalVisibility = els.visibility;
1009     var originalPosition = els.position;
1010     els.visibility = 'hidden';
1011     els.position = 'absolute';
1012     els.display = '';
1013     var originalWidth = element.clientWidth;
1014     var originalHeight = element.clientHeight;
1015     els.display = 'none';
1016     els.position = originalPosition;
1017     els.visibility = originalVisibility;
1018     return {width: originalWidth, height: originalHeight};
1019   },
1020
1021   makePositioned: function(element) {
1022     element = $(element);
1023     var pos = Element.getStyle(element, 'position');
1024     if (pos == 'static' || !pos) {
1025       element._madePositioned = true;
1026       element.style.position = 'relative';
1027       // Opera returns the offset relative to the positioning context, when an
1028       // element is position relative but top and left have not been defined
1029       if (window.opera) {
1030         element.style.top = 0;
1031         element.style.left = 0;
1032       }
1033     }
1034   },
1035
1036   undoPositioned: function(element) {
1037     element = $(element);
1038     if (element._madePositioned) {
1039       element._madePositioned = undefined;
1040       element.style.position =
1041         element.style.top =
1042         element.style.left =
1043         element.style.bottom =
1044         element.style.right = '';
1045     }
1046   },
1047
1048   makeClipping: function(element) {
1049     element = $(element);
1050     if (element._overflow) return;
1051     element._overflow = element.style.overflow;
1052     if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden')
1053       element.style.overflow = 'hidden';
1054   },
1055
1056   undoClipping: function(element) {
1057     element = $(element);
1058     if (element._overflow) return;
1059     element.style.overflow = element._overflow;
1060     element._overflow = undefined;
1061   }
1062 });
1063
1064 var Toggle = new Object();
1065 Toggle.display = Element.toggle;
1066
1067 /*--------------------------------------------------------------------------*/
1068
1069 Abstract.Insertion = function(adjacency) {
1070   this.adjacency = adjacency;
1071 }
1072
1073 Abstract.Insertion.prototype = {
1074   initialize: function(element, content) {
1075     this.element = $(element);
1076     this.content = content.stripScripts();
1077
1078     if (this.adjacency && this.element.insertAdjacentHTML) {
1079       try {
1080         this.element.insertAdjacentHTML(this.adjacency, this.content);
1081       } catch (e) {
1082         if (this.element.tagName.toLowerCase() == 'tbody') {
1083           this.insertContent(this.contentFromAnonymousTable());
1084         } else {
1085           throw e;
1086         }
1087       }
1088     } else {
1089       this.range = this.element.ownerDocument.createRange();
1090       if (this.initializeRange) this.initializeRange();
1091       this.insertContent([this.range.createContextualFragment(this.content)]);
1092     }
1093
1094     setTimeout(function() {content.evalScripts()}, 10);
1095   },
1096
1097   contentFromAnonymousTable: function() {
1098     var div = document.createElement('div');
1099     div.innerHTML = '<table><tbody>' + this.content + '</tbody></table>';
1100     return $A(div.childNodes[0].childNodes[0].childNodes);
1101   }
1102 }
1103
1104 var Insertion = new Object();
1105
1106 Insertion.Before = Class.create();
1107 Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), {
1108   initializeRange: function() {
1109     this.range.setStartBefore(this.element);
1110   },
1111
1112   insertContent: function(fragments) {
1113     fragments.each((function(fragment) {
1114       this.element.parentNode.insertBefore(fragment, this.element);
1115     }).bind(this));
1116   }
1117 });
1118
1119 Insertion.Top = Class.create();
1120 Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), {
1121   initializeRange: function() {
1122     this.range.selectNodeContents(this.element);
1123     this.range.collapse(true);
1124   },
1125
1126   insertContent: function(fragments) {
1127     fragments.reverse(false).each((function(fragment) {
1128       this.element.insertBefore(fragment, this.element.firstChild);
1129     }).bind(this));
1130   }
1131 });
1132
1133 Insertion.Bottom = Class.create();
1134 Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), {
1135   initializeRange: function() {
1136     this.range.selectNodeContents(this.element);
1137     this.range.collapse(this.element);
1138   },
1139
1140   insertContent: function(fragments) {
1141     fragments.each((function(fragment) {
1142       this.element.appendChild(fragment);
1143     }).bind(this));
1144   }
1145 });
1146
1147 Insertion.After = Class.create();
1148 Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), {
1149   initializeRange: function() {
1150     this.range.setStartAfter(this.element);
1151   },
1152
1153   insertContent: function(fragments) {
1154     fragments.each((function(fragment) {
1155       this.element.parentNode.insertBefore(fragment,
1156         this.element.nextSibling);
1157     }).bind(this));
1158   }
1159 });
1160
1161 /*--------------------------------------------------------------------------*/
1162
1163 Element.ClassNames = Class.create();
1164 Element.ClassNames.prototype = {
1165   initialize: function(element) {
1166     this.element = $(element);
1167   },
1168
1169   _each: function(iterator) {
1170     this.element.className.split(/\s+/).select(function(name) {
1171       return name.length > 0;
1172     })._each(iterator);
1173   },
1174
1175   set: function(className) {
1176     this.element.className = className;
1177   },
1178
1179   add: function(classNameToAdd) {
1180     if (this.include(classNameToAdd)) return;
1181     this.set(this.toArray().concat(classNameToAdd).join(' '));
1182   },
1183
1184   remove: function(classNameToRemove) {
1185     if (!this.include(classNameToRemove)) return;
1186     this.set(this.select(function(className) {
1187       return className != classNameToRemove;
1188     }).join(' '));
1189   },
1190
1191   toString: function() {
1192     return this.toArray().join(' ');
1193   }
1194 }
1195
1196 Object.extend(Element.ClassNames.prototype, Enumerable);
1197 var Field = {
1198   clear: function() {
1199     for (var i = 0; i < arguments.length; i++)
1200       $(arguments[i]).value = '';
1201   },
1202
1203   focus: function(element) {
1204     $(element).focus();
1205   },
1206
1207   present: function() {
1208     for (var i = 0; i < arguments.length; i++)
1209       if ($(arguments[i]).value == '') return false;
1210     return true;
1211   },
1212
1213   select: function(element) {
1214     $(element).select();
1215   },
1216
1217   activate: function(element) {
1218     element = $(element);
1219     element.focus();
1220     if (element.select)
1221       element.select();
1222   }
1223 }
1224
1225 /*--------------------------------------------------------------------------*/
1226
1227 var Form = {
1228   serialize: function(form) {
1229     var elements = Form.getElements($(form));
1230     var queryComponents = new Array();
1231
1232     for (var i = 0; i < elements.length; i++) {
1233       var queryComponent = Form.Element.serialize(elements[i]);
1234       if (queryComponent)
1235         queryComponents.push(queryComponent);
1236     }
1237
1238     return queryComponents.join('&');
1239   },
1240
1241   getElements: function(form) {
1242     form = $(form);
1243     var elements = new Array();
1244
1245     for (tagName in Form.Element.Serializers) {
1246       var tagElements = form.getElementsByTagName(tagName);
1247       for (var j = 0; j < tagElements.length; j++)
1248         elements.push(tagElements[j]);
1249     }
1250     return elements;
1251   },
1252
1253   getInputs: function(form, typeName, name) {
1254     form = $(form);
1255     var inputs = form.getElementsByTagName('input');
1256
1257     if (!typeName && !name)
1258       return inputs;
1259
1260     var matchingInputs = new Array();
1261     for (var i = 0; i < inputs.length; i++) {
1262       var input = inputs[i];
1263       if ((typeName && input.type != typeName) ||
1264           (name && input.name != name))
1265         continue;
1266       matchingInputs.push(input);
1267     }
1268
1269     return matchingInputs;
1270   },
1271
1272   disable: function(form) {
1273     var elements = Form.getElements(form);
1274     for (var i = 0; i < elements.length; i++) {
1275       var element = elements[i];
1276       element.blur();
1277       element.disabled = 'true';
1278     }
1279   },
1280
1281   enable: function(form) {
1282     var elements = Form.getElements(form);
1283     for (var i = 0; i < elements.length; i++) {
1284       var element = elements[i];
1285       element.disabled = '';
1286     }
1287   },
1288
1289   findFirstElement: function(form) {
1290     return Form.getElements(form).find(function(element) {
1291       return element.type != 'hidden' && !element.disabled &&
1292         ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
1293     });
1294   },
1295
1296   focusFirstElement: function(form) {
1297     Field.activate(Form.findFirstElement(form));
1298   },
1299
1300   reset: function(form) {
1301     $(form).reset();
1302   }
1303 }
1304
1305 Form.Element = {
1306   serialize: function(element) {
1307     element = $(element);
1308     var method = element.tagName.toLowerCase();
1309     var parameter = Form.Element.Serializers[method](element);
1310
1311     if (parameter) {
1312       var key = encodeURIComponent(parameter[0]);
1313       if (key.length == 0) return;
1314
1315       if (parameter[1].constructor != Array)
1316         parameter[1] = [parameter[1]];
1317
1318       return parameter[1].map(function(value) {
1319         return key + '=' + encodeURIComponent(value);
1320       }).join('&');
1321     }
1322   },
1323
1324   getValue: function(element) {
1325     element = $(element);
1326     var method = element.tagName.toLowerCase();
1327     var parameter = Form.Element.Serializers[method](element);
1328
1329     if (parameter)
1330       return parameter[1];
1331   }
1332 }
1333
1334 Form.Element.Serializers = {
1335   input: function(element) {
1336     switch (element.type.toLowerCase()) {
1337       case 'submit':
1338       case 'hidden':
1339       case 'password':
1340       case 'text':
1341         return Form.Element.Serializers.textarea(element);
1342       case 'checkbox':
1343       case 'radio':
1344         return Form.Element.Serializers.inputSelector(element);
1345     }
1346     return false;
1347   },
1348
1349   inputSelector: function(element) {
1350     if (element.checked)
1351       return [element.name, element.value];
1352   },
1353
1354   textarea: function(element) {
1355     return [element.name, element.value];
1356   },
1357
1358   select: function(element) {
1359     return Form.Element.Serializers[element.type == 'select-one' ?
1360       'selectOne' : 'selectMany'](element);
1361   },
1362
1363   selectOne: function(element) {
1364     var value = '', opt, index = element.selectedIndex;
1365     if (index >= 0) {
1366       opt = element.options[index];
1367       value = opt.value;
1368       if (!value && !('value' in opt))
1369         value = opt.text;
1370     }
1371     return [element.name, value];
1372   },
1373
1374   selectMany: function(element) {
1375     var value = new Array();
1376     for (var i = 0; i < element.length; i++) {
1377       var opt = element.options[i];
1378       if (opt.selected) {
1379         var optValue = opt.value;
1380         if (!optValue && !('value' in opt))
1381           optValue = opt.text;
1382         value.push(optValue);
1383       }
1384     }
1385     return [element.name, value];
1386   }
1387 }
1388
1389 /*--------------------------------------------------------------------------*/
1390
1391 var $F = Form.Element.getValue;
1392
1393 /*--------------------------------------------------------------------------*/
1394
1395 Abstract.TimedObserver = function() {}
1396 Abstract.TimedObserver.prototype = {
1397   initialize: function(element, frequency, callback) {
1398     this.frequency = frequency;
1399     this.element   = $(element);
1400     this.callback  = callback;
1401
1402     this.lastValue = this.getValue();
1403     this.registerCallback();
1404   },
1405
1406   registerCallback: function() {
1407     setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
1408   },
1409
1410   onTimerEvent: function() {
1411     var value = this.getValue();
1412     if (this.lastValue != value) {
1413       this.callback(this.element, value);
1414       this.lastValue = value;
1415     }
1416   }
1417 }
1418
1419 Form.Element.Observer = Class.create();
1420 Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
1421   getValue: function() {
1422     return Form.Element.getValue(this.element);
1423   }
1424 });
1425
1426 Form.Observer = Class.create();
1427 Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {
1428   getValue: function() {
1429     return Form.serialize(this.element);
1430   }
1431 });
1432
1433 /*--------------------------------------------------------------------------*/
1434
1435 Abstract.EventObserver = function() {}
1436 Abstract.EventObserver.prototype = {
1437   initialize: function(element, callback) {
1438     this.element  = $(element);
1439     this.callback = callback;
1440
1441     this.lastValue = this.getValue();
1442     if (this.element.tagName.toLowerCase() == 'form')
1443       this.registerFormCallbacks();
1444     else
1445       this.registerCallback(this.element);
1446   },
1447
1448   onElementEvent: function() {
1449     var value = this.getValue();
1450     if (this.lastValue != value) {
1451       this.callback(this.element, value);
1452       this.lastValue = value;
1453     }
1454   },
1455
1456   registerFormCallbacks: function() {
1457     var elements = Form.getElements(this.element);
1458     for (var i = 0; i < elements.length; i++)
1459       this.registerCallback(elements[i]);
1460   },
1461
1462   registerCallback: function(element) {
1463     if (element.type) {
1464       switch (element.type.toLowerCase()) {
1465         case 'checkbox':
1466         case 'radio':
1467           Event.observe(element, 'click', this.onElementEvent.bind(this));
1468           break;
1469         case 'password':
1470         case 'text':
1471         case 'textarea':
1472         case 'select-one':
1473         case 'select-multiple':
1474           Event.observe(element, 'change', this.onElementEvent.bind(this));
1475           break;
1476       }
1477     }
1478   }
1479 }
1480
1481 Form.Element.EventObserver = Class.create();
1482 Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
1483   getValue: function() {
1484     return Form.Element.getValue(this.element);
1485   }
1486 });
1487
1488 Form.EventObserver = Class.create();
1489 Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {
1490   getValue: function() {
1491     return Form.serialize(this.element);
1492   }
1493 });
1494 if (!window.Event) {
1495   var Event = new Object();
1496 }
1497
1498 Object.extend(Event, {
1499   KEY_BACKSPACE: 8,
1500   KEY_TAB:       9,
1501   KEY_RETURN:   13,
1502   KEY_ESC:      27,
1503   KEY_LEFT:     37,
1504   KEY_UP:       38,
1505   KEY_RIGHT:    39,
1506   KEY_DOWN:     40,
1507   KEY_DELETE:   46,
1508
1509   element: function(event) {
1510     return event.target || event.srcElement;
1511   },
1512
1513   isLeftClick: function(event) {
1514     return (((event.which) && (event.which == 1)) ||
1515             ((event.button) && (event.button == 1)));
1516   },
1517
1518   pointerX: function(event) {
1519     return event.pageX || (event.clientX +
1520       (document.documentElement.scrollLeft || document.body.scrollLeft));
1521   },
1522
1523   pointerY: function(event) {
1524     return event.pageY || (event.clientY +
1525       (document.documentElement.scrollTop || document.body.scrollTop));
1526   },
1527
1528   stop: function(event) {
1529     if (event.preventDefault) {
1530       event.preventDefault();
1531       event.stopPropagation();
1532     } else {
1533       event.returnValue = false;
1534       event.cancelBubble = true;
1535     }
1536   },
1537
1538   // find the first node with the given tagName, starting from the
1539   // node the event was triggered on; traverses the DOM upwards
1540   findElement: function(event, tagName) {
1541     var element = Event.element(event);
1542     while (element.parentNode && (!element.tagName ||
1543         (element.tagName.toUpperCase() != tagName.toUpperCase())))
1544       element = element.parentNode;
1545     return element;
1546   },
1547
1548   observers: false,
1549
1550   _observeAndCache: function(element, name, observer, useCapture) {
1551     if (!this.observers) this.observers = [];
1552     if (element.addEventListener) {
1553       this.observers.push([element, name, observer, useCapture]);
1554       element.addEventListener(name, observer, useCapture);
1555     } else if (element.attachEvent) {
1556       this.observers.push([element, name, observer, useCapture]);
1557       element.attachEvent('on' + name, observer);
1558     }
1559   },
1560
1561   unloadCache: function() {
1562     if (!Event.observers) return;
1563     for (var i = 0; i < Event.observers.length; i++) {
1564       Event.stopObserving.apply(this, Event.observers[i]);
1565       Event.observers[i][0] = null;
1566     }
1567     Event.observers = false;
1568   },
1569
1570   observe: function(element, name, observer, useCapture) {
1571     var element = $(element);
1572     useCapture = useCapture || false;
1573
1574     if (name == 'keypress' &&
1575         (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
1576         || element.attachEvent))
1577       name = 'keydown';
1578
1579     this._observeAndCache(element, name, observer, useCapture);
1580   },
1581
1582   stopObserving: function(element, name, observer, useCapture) {
1583     var element = $(element);
1584     useCapture = useCapture || false;
1585
1586     if (name == 'keypress' &&
1587         (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
1588         || element.detachEvent))
1589       name = 'keydown';
1590
1591     if (element.removeEventListener) {
1592       element.removeEventListener(name, observer, useCapture);
1593     } else if (element.detachEvent) {
1594       element.detachEvent('on' + name, observer);
1595     }
1596   }
1597 });
1598
1599 /* prevent memory leaks in IE */
1600 Event.observe(window, 'unload', Event.unloadCache, false);
1601 var Position = {
1602   // set to true if needed, warning: firefox performance problems
1603   // NOT neeeded for page scrolling, only if draggable contained in
1604   // scrollable elements
1605   includeScrollOffsets: false,
1606
1607   // must be called before calling withinIncludingScrolloffset, every time the
1608   // page is scrolled
1609   prepare: function() {
1610     this.deltaX =  window.pageXOffset
1611                 || document.documentElement.scrollLeft
1612                 || document.body.scrollLeft
1613                 || 0;
1614     this.deltaY =  window.pageYOffset
1615                 || document.documentElement.scrollTop
1616                 || document.body.scrollTop
1617                 || 0;
1618   },
1619
1620   realOffset: function(element) {
1621     var valueT = 0, valueL = 0;
1622     do {
1623       valueT += element.scrollTop  || 0;
1624       valueL += element.scrollLeft || 0;
1625       element = element.parentNode;
1626     } while (element);
1627     return [valueL, valueT];
1628   },
1629
1630   cumulativeOffset: function(element) {
1631     var valueT = 0, valueL = 0;
1632     do {
1633       valueT += element.offsetTop  || 0;
1634       valueL += element.offsetLeft || 0;
1635       element = element.offsetParent;
1636     } while (element);
1637     return [valueL, valueT];
1638   },
1639
1640   positionedOffset: function(element) {
1641     var valueT = 0, valueL = 0;
1642     do {
1643       valueT += element.offsetTop  || 0;
1644       valueL += element.offsetLeft || 0;
1645       element = element.offsetParent;
1646       if (element) {
1647         p = Element.getStyle(element, 'position');
1648         if (p == 'relative' || p == 'absolute') break;
1649       }
1650     } while (element);
1651     return [valueL, valueT];
1652   },
1653
1654   offsetParent: function(element) {
1655     if (element.offsetParent) return element.offsetParent;
1656     if (element == document.body) return element;
1657
1658     while ((element = element.parentNode) && element != document.body)
1659       if (Element.getStyle(element, 'position') != 'static')
1660         return element;
1661
1662     return document.body;
1663   },
1664
1665   // caches x/y coordinate pair to use with overlap
1666   within: function(element, x, y) {
1667     if (this.includeScrollOffsets)
1668       return this.withinIncludingScrolloffsets(element, x, y);
1669     this.xcomp = x;
1670     this.ycomp = y;
1671     this.offset = this.cumulativeOffset(element);
1672
1673     return (y >= this.offset[1] &&
1674             y <  this.offset[1] + element.offsetHeight &&
1675             x >= this.offset[0] &&
1676             x <  this.offset[0] + element.offsetWidth);
1677   },
1678
1679   withinIncludingScrolloffsets: function(element, x, y) {
1680     var offsetcache = this.realOffset(element);
1681
1682     this.xcomp = x + offsetcache[0] - this.deltaX;
1683     this.ycomp = y + offsetcache[1] - this.deltaY;
1684     this.offset = this.cumulativeOffset(element);
1685
1686     return (this.ycomp >= this.offset[1] &&
1687             this.ycomp <  this.offset[1] + element.offsetHeight &&
1688             this.xcomp >= this.offset[0] &&
1689             this.xcomp <  this.offset[0] + element.offsetWidth);
1690   },
1691
1692   // within must be called directly before
1693   overlap: function(mode, element) {
1694     if (!mode) return 0;
1695     if (mode == 'vertical')
1696       return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
1697         element.offsetHeight;
1698     if (mode == 'horizontal')
1699       return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
1700         element.offsetWidth;
1701   },
1702
1703   clone: function(source, target) {
1704     source = $(source);
1705     target = $(target);
1706     target.style.position = 'absolute';
1707     var offsets = this.cumulativeOffset(source);
1708     target.style.top    = offsets[1] + 'px';
1709     target.style.left   = offsets[0] + 'px';
1710     target.style.width  = source.offsetWidth + 'px';
1711     target.style.height = source.offsetHeight + 'px';
1712   },
1713
1714   page: function(forElement) {
1715     var valueT = 0, valueL = 0;
1716
1717     var element = forElement;
1718     do {
1719       valueT += element.offsetTop  || 0;
1720       valueL += element.offsetLeft || 0;
1721
1722       // Safari fix
1723       if (element.offsetParent==document.body)
1724         if (Element.getStyle(element,'position')=='absolute') break;
1725
1726     } while (element = element.offsetParent);
1727
1728     element = forElement;
1729     do {
1730       valueT -= element.scrollTop  || 0;
1731       valueL -= element.scrollLeft || 0;
1732     } while (element = element.parentNode);
1733
1734     return [valueL, valueT];
1735   },
1736
1737   clone: function(source, target) {
1738     var options = Object.extend({
1739       setLeft:    true,
1740       setTop:     true,
1741       setWidth:   true,
1742       setHeight:  true,
1743       offsetTop:  0,
1744       offsetLeft: 0
1745     }, arguments[2] || {})
1746
1747     // find page position of source
1748     source = $(source);
1749     var p = Position.page(source);
1750
1751     // find coordinate system to use
1752     target = $(target);
1753     var delta = [0, 0];
1754     var parent = null;
1755     // delta [0,0] will do fine with position: fixed elements,
1756     // position:absolute needs offsetParent deltas
1757     if (Element.getStyle(target,'position') == 'absolute') {
1758       parent = Position.offsetParent(target);
1759       delta = Position.page(parent);
1760     }
1761
1762     // correct by body offsets (fixes Safari)
1763     if (parent == document.body) {
1764       delta[0] -= document.body.offsetLeft;
1765       delta[1] -= document.body.offsetTop;
1766     }
1767
1768     // set position
1769     if(options.setLeft)   target.style.left  = (p[0] - delta[0] + options.offsetLeft) + 'px';
1770     if(options.setTop)    target.style.top   = (p[1] - delta[1] + options.offsetTop) + 'px';
1771     if(options.setWidth)  target.style.width = source.offsetWidth + 'px';
1772     if(options.setHeight) target.style.height = source.offsetHeight + 'px';
1773   },
1774
1775   absolutize: function(element) {
1776     element = $(element);
1777     if (element.style.position == 'absolute') return;
1778     Position.prepare();
1779
1780     var offsets = Position.positionedOffset(element);
1781     var top     = offsets[1];
1782     var left    = offsets[0];
1783     var width   = element.clientWidth;
1784     var height  = element.clientHeight;
1785
1786     element._originalLeft   = left - parseFloat(element.style.left  || 0);
1787     element._originalTop    = top  - parseFloat(element.style.top || 0);
1788     element._originalWidth  = element.style.width;
1789     element._originalHeight = element.style.height;
1790
1791     element.style.position = 'absolute';
1792     element.style.top    = top + 'px';;
1793     element.style.left   = left + 'px';;
1794     element.style.width  = width + 'px';;
1795     element.style.height = height + 'px';;
1796   },
1797
1798   relativize: function(element) {
1799     element = $(element);
1800     if (element.style.position == 'relative') return;
1801     Position.prepare();
1802
1803     element.style.position = 'relative';
1804     var top  = parseFloat(element.style.top  || 0) - (element._originalTop || 0);
1805     var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
1806
1807     element.style.top    = top + 'px';
1808     element.style.left   = left + 'px';
1809     element.style.height = element._originalHeight;
1810     element.style.width  = element._originalWidth;
1811   }
1812 }
1813
1814 // Safari returns margins on body which is incorrect if the child is absolutely
1815 // positioned.  For performance reasons, redefine Position.cumulativeOffset for
1816 // KHTML/WebKit only.
1817 if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {
1818   Position.cumulativeOffset = function(element) {
1819     var valueT = 0, valueL = 0;
1820     do {
1821       valueT += element.offsetTop  || 0;
1822       valueL += element.offsetLeft || 0;
1823       if (element.offsetParent == document.body)
1824         if (Element.getStyle(element, 'position') == 'absolute') break;
1825
1826       element = element.offsetParent;
1827     } while (element);
1828
1829     return [valueL, valueT];
1830   }
1831 }
1832 </script>
1833 <script type="text/javascript">
1834 /* code modified from ColdFusion's cfdump code */
1835 /* code modified from original dBug */
1836 dBug = new Object();
1837 dBug.toggleRow = function(source) {
1838                 var source = Event.element(source);
1839                 var target=(document.all) ? source.parentElement.cells[1] : source.parentNode.lastChild
1840                 dBug.toggleTarget(target,dBug.toggleSource(source));
1841         }
1842        
1843 dBug.toggleSource = function(source) {
1844                 if (source.style.fontStyle=='italic') {
1845                         source.style.fontStyle='normal';
1846                         source.title='click to collapse';
1847                         return 'open';
1848                 } else {
1849                         source.style.fontStyle='italic';
1850                         source.title='click to expand';
1851                         return 'closed';
1852                 }
1853         }
1854
1855 dBug.toggleTarget = function(target,switchToState) {
1856                 target.style.display=(switchToState=='open') ? '' : 'none';
1857         }
1858
1859 dBug.toggleTable = function(source) {
1860                 var source = Event.element(source);
1861                 var switchToState=dBug.toggleSource(source);
1862                 if(document.all) {
1863                         var table=source.parentElement.parentElement;
1864                         for(var i=1;i<table.rows.length;i++) {
1865                                 target=table.rows[i];
1866                                 dBug.toggleTarget(target,switchToState);
1867                         }
1868                 }
1869                 else {
1870                         var table=source.parentNode.parentNode;
1871                         for (var i=1;i<table.childNodes.length;i++) {
1872                                 target=table.childNodes[i];
1873                                 if(target.style) {
1874                                         dBug.toggleTarget(target,switchToState);
1875                                 }
1876                         }
1877                 }
1878         }
1879
1880 dBug.attachHandlers = function(cls, mtd) {
1881                 $A(document.getElementsByClassName(cls)).each(
1882                         function (td) {
1883                                         Event.observe( td, 'click', mtd );
1884                                         Event.observe( td, 'mouseover',
1885                                                 function( ev ) {
1886                                                         el = Event.element(ev);
1887                                                         el.style.cursor = 'pointer';
1888                                                 }
1889                                         );
1890                                         Event.observe( td, 'mouseout',
1891                                                 function( ev ) {
1892                                                         el = Event.element(ev);
1893                                                         el.style.cursor = 'auto';
1894                                                 }
1895                                         );
1896                                 }
1897                 );
1898         }
1899
1900 dBug.initialize = function() {
1901                 $A(dBug.types).each(
1902                         function (str) {
1903                                 dBug.attachHandlers( "dBug_" + str + "Header", dBug.toggleTable );
1904                                 dBug.attachHandlers( "dBug_" + str + "Key", dBug.toggleRow );
1905                         }
1906                 );
1907         }
1908
1909 dBug.types = ['resource', 'object', 'array', 'boolean', 'gd', 'xml',
1910         'fbsql', 'mssql', 'msql', 'pgsql', 'sybase-db', 'sybase-ct', 'mysql'];
1911
1912
1913 Event.observe( window, 'load', dBug.initialize );
1914 </script>
1915 </head>
1916 <body>
1917
1918
1919 <table cellspacing="2" cellpadding="3" class="dBug_array">
1920                                 <tr>
1921                                         <td class="dBug_arrayHeader" colspan="2">array (10)</td>
1922                                 </tr><tr>
1923                                 <td valign="top" class="dBug_arrayKey">LANGUAGE</td>
1924                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
1925                                 <tr>
1926                                         <td class="dBug_arrayHeader" colspan="2">array (24)</td>
1927                                 </tr><tr>
1928                                 <td valign="top" class="dBug_arrayKey">cs-iso-8859-2</td>
1929                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
1930                                 <tr>
1931                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
1932                                 </tr><tr>
1933                                 <td valign="top" class="dBug_arrayKey">0</td>
1934                                 <td>cs|czech</td>
1935 </tr>
1936 <tr>
1937                                 <td valign="top" class="dBug_arrayKey">1</td>
1938                                 <td>czech-iso-8859-2</td>
1939 </tr>
1940 <tr>
1941                                 <td valign="top" class="dBug_arrayKey">2</td>
1942                                 <td>cs</td>
1943 </tr>
1944 </table></td>
1945 </tr>
1946 <tr>
1947                                 <td valign="top" class="dBug_arrayKey">de-iso-8859-1</td>
1948                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
1949                                 <tr>
1950                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
1951                                 </tr><tr>
1952                                 <td valign="top" class="dBug_arrayKey">0</td>
1953                                 <td>de([-_][[:alpha:]]{2})?|german</td>
1954 </tr>
1955 <tr>
1956                                 <td valign="top" class="dBug_arrayKey">1</td>
1957                                 <td>german-iso-8859-1</td>
1958 </tr>
1959 <tr>
1960                                 <td valign="top" class="dBug_arrayKey">2</td>
1961                                 <td>de</td>
1962 </tr>
1963 </table></td>
1964 </tr>
1965 <tr>
1966                                 <td valign="top" class="dBug_arrayKey">en-iso-8859-15</td>
1967                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
1968                                 <tr>
1969                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
1970                                 </tr><tr>
1971                                 <td valign="top" class="dBug_arrayKey">0</td>
1972                                 <td>en([-_][[:alpha:]]{2})?|english</td>
1973 </tr>
1974 <tr>
1975                                 <td valign="top" class="dBug_arrayKey">1</td>
1976                                 <td>english-iso-8859-15</td>
1977 </tr>
1978 <tr>
1979                                 <td valign="top" class="dBug_arrayKey">2</td>
1980                                 <td>en</td>
1981 </tr>
1982 </table></td>
1983 </tr>
1984 <tr>
1985                                 <td valign="top" class="dBug_arrayKey">es-iso-8859-1</td>
1986                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
1987                                 <tr>
1988                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
1989                                 </tr><tr>
1990                                 <td valign="top" class="dBug_arrayKey">0</td>
1991                                 <td>es([-_][[:alpha:]]{2})?|spanish</td>
1992 </tr>
1993 <tr>
1994                                 <td valign="top" class="dBug_arrayKey">1</td>
1995                                 <td>spanish-iso-8859-1</td>
1996 </tr>
1997 <tr>
1998                                 <td valign="top" class="dBug_arrayKey">2</td>
1999                                 <td>es</td>
2000 </tr>
2001 </table></td>
2002 </tr>
2003 <tr>
2004                                 <td valign="top" class="dBug_arrayKey">es-utf-8</td>
2005                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2006                                 <tr>
2007                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2008                                 </tr><tr>
2009                                 <td valign="top" class="dBug_arrayKey">0</td>
2010                                 <td>es([-_][[:alpha:]]{2})?|spanish</td>
2011 </tr>
2012 <tr>
2013                                 <td valign="top" class="dBug_arrayKey">1</td>
2014                                 <td>spanish-utf-8</td>
2015 </tr>
2016 <tr>
2017                                 <td valign="top" class="dBug_arrayKey">2</td>
2018                                 <td>es</td>
2019 </tr>
2020 </table></td>
2021 </tr>
2022 <tr>
2023                                 <td valign="top" class="dBug_arrayKey">fr-iso-8859-1</td>
2024                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2025                                 <tr>
2026                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2027                                 </tr><tr>
2028                                 <td valign="top" class="dBug_arrayKey">0</td>
2029                                 <td>fr([-_][[:alpha:]]{2})?|french</td>
2030 </tr>
2031 <tr>
2032                                 <td valign="top" class="dBug_arrayKey">1</td>
2033                                 <td>french-iso-8859-1</td>
2034 </tr>
2035 <tr>
2036                                 <td valign="top" class="dBug_arrayKey">2</td>
2037                                 <td>fr</td>
2038 </tr>
2039 </table></td>
2040 </tr>
2041 <tr>
2042                                 <td valign="top" class="dBug_arrayKey">fr-utf-8</td>
2043                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2044                                 <tr>
2045                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2046                                 </tr><tr>
2047                                 <td valign="top" class="dBug_arrayKey">0</td>
2048                                 <td>fr([-_][[:alpha:]]{2})?|french</td>
2049 </tr>
2050 <tr>
2051                                 <td valign="top" class="dBug_arrayKey">1</td>
2052                                 <td>french-utf-8</td>
2053 </tr>
2054 <tr>
2055                                 <td valign="top" class="dBug_arrayKey">2</td>
2056                                 <td>fr</td>
2057 </tr>
2058 </table></td>
2059 </tr>
2060 <tr>
2061                                 <td valign="top" class="dBug_arrayKey">it-iso-8859-1</td>
2062                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2063                                 <tr>
2064                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2065                                 </tr><tr>
2066                                 <td valign="top" class="dBug_arrayKey">0</td>
2067                                 <td>it|italian</td>
2068 </tr>
2069 <tr>
2070                                 <td valign="top" class="dBug_arrayKey">1</td>
2071                                 <td>italian-iso-8859-1</td>
2072 </tr>
2073 <tr>
2074                                 <td valign="top" class="dBug_arrayKey">2</td>
2075                                 <td>it</td>
2076 </tr>
2077 </table></td>
2078 </tr>
2079 <tr>
2080                                 <td valign="top" class="dBug_arrayKey">ja-euc-jp</td>
2081                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2082                                 <tr>
2083                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2084                                 </tr><tr>
2085                                 <td valign="top" class="dBug_arrayKey">0</td>
2086                                 <td>ja|japanese</td>
2087 </tr>
2088 <tr>
2089                                 <td valign="top" class="dBug_arrayKey">1</td>
2090                                 <td>japanese-euc-jp</td>
2091 </tr>
2092 <tr>
2093                                 <td valign="top" class="dBug_arrayKey">2</td>
2094                                 <td>ja</td>
2095 </tr>
2096 </table></td>
2097 </tr>
2098 <tr>
2099                                 <td valign="top" class="dBug_arrayKey">ja-utf-8</td>
2100                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2101                                 <tr>
2102                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2103                                 </tr><tr>
2104                                 <td valign="top" class="dBug_arrayKey">0</td>
2105                                 <td>ja|japanese</td>
2106 </tr>
2107 <tr>
2108                                 <td valign="top" class="dBug_arrayKey">1</td>
2109                                 <td>japanese-utf-8</td>
2110 </tr>
2111 <tr>
2112                                 <td valign="top" class="dBug_arrayKey">2</td>
2113                                 <td>ja</td>
2114 </tr>
2115 </table></td>
2116 </tr>
2117 <tr>
2118                                 <td valign="top" class="dBug_arrayKey">nl-iso-8859-1</td>
2119                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2120                                 <tr>
2121                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2122                                 </tr><tr>
2123                                 <td valign="top" class="dBug_arrayKey">0</td>
2124                                 <td>nl([-_][[:alpha:]]{2})?|dutch</td>
2125 </tr>
2126 <tr>
2127                                 <td valign="top" class="dBug_arrayKey">1</td>
2128                                 <td>dutch-iso-8859-1</td>
2129 </tr>
2130 <tr>
2131                                 <td valign="top" class="dBug_arrayKey">2</td>
2132                                 <td>nl</td>
2133 </tr>
2134 </table></td>
2135 </tr>
2136 <tr>
2137                                 <td valign="top" class="dBug_arrayKey">no-iso-8859-1</td>
2138                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2139                                 <tr>
2140                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2141                                 </tr><tr>
2142                                 <td valign="top" class="dBug_arrayKey">0</td>
2143                                 <td>no|norwegian</td>
2144 </tr>
2145 <tr>
2146                                 <td valign="top" class="dBug_arrayKey">1</td>
2147                                 <td>norwegian-iso-8859-1</td>
2148 </tr>
2149 <tr>
2150                                 <td valign="top" class="dBug_arrayKey">2</td>
2151                                 <td>no</td>
2152 </tr>
2153 </table></td>
2154 </tr>
2155 <tr>
2156                                 <td valign="top" class="dBug_arrayKey">pt-br-iso-8859-1</td>
2157                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2158                                 <tr>
2159                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2160                                 </tr><tr>
2161                                 <td valign="top" class="dBug_arrayKey">0</td>
2162                                 <td>pt[-_]br|brazilian portuguese</td>
2163 </tr>
2164 <tr>
2165                                 <td valign="top" class="dBug_arrayKey">1</td>
2166                                 <td>brazilian_portuguese-iso-8859-1</td>
2167 </tr>
2168 <tr>
2169                                 <td valign="top" class="dBug_arrayKey">2</td>
2170                                 <td>pt-BR</td>
2171 </tr>
2172 </table></td>
2173 </tr>
2174 <tr>
2175                                 <td valign="top" class="dBug_arrayKey">pt-iso-8859-1</td>
2176                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2177                                 <tr>
2178                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2179                                 </tr><tr>
2180                                 <td valign="top" class="dBug_arrayKey">0</td>
2181                                 <td>pt([-_][[:alpha:]]{2})?|portuguese</td>
2182 </tr>
2183 <tr>
2184                                 <td valign="top" class="dBug_arrayKey">1</td>
2185                                 <td>portuguese-iso-8859-1</td>
2186 </tr>
2187 <tr>
2188                                 <td valign="top" class="dBug_arrayKey">2</td>
2189                                 <td>pt</td>
2190 </tr>
2191 </table></td>
2192 </tr>
2193 <tr>
2194                                 <td valign="top" class="dBug_arrayKey">pl-iso-8859-2</td>
2195                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2196                                 <tr>
2197                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2198                                 </tr><tr>
2199                                 <td valign="top" class="dBug_arrayKey">0</td>
2200                                 <td>pl|polish</td>
2201 </tr>
2202 <tr>
2203                                 <td valign="top" class="dBug_arrayKey">1</td>
2204                                 <td>polish-iso-8859-2</td>
2205 </tr>
2206 <tr>
2207                                 <td valign="top" class="dBug_arrayKey">2</td>
2208                                 <td>pl</td>
2209 </tr>
2210 </table></td>
2211 </tr>
2212 <tr>
2213                                 <td valign="top" class="dBug_arrayKey">ru-windows-1251</td>
2214                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2215                                 <tr>
2216                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2217                                 </tr><tr>
2218                                 <td valign="top" class="dBug_arrayKey">0</td>
2219                                 <td>ru|russian</td>
2220 </tr>
2221 <tr>
2222                                 <td valign="top" class="dBug_arrayKey">1</td>
2223                                 <td>russian-windows-1251</td>
2224 </tr>
2225 <tr>
2226                                 <td valign="top" class="dBug_arrayKey">2</td>
2227                                 <td>ru</td>
2228 </tr>
2229 </table></td>
2230 </tr>
2231 <tr>
2232                                 <td valign="top" class="dBug_arrayKey">ru-utf-8</td>
2233                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2234                                 <tr>
2235                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2236                                 </tr><tr>
2237                                 <td valign="top" class="dBug_arrayKey">0</td>
2238                                 <td>ru|russian</td>
2239 </tr>
2240 <tr>
2241                                 <td valign="top" class="dBug_arrayKey">1</td>
2242                                 <td>russian-utf-8</td>
2243 </tr>
2244 <tr>
2245                                 <td valign="top" class="dBug_arrayKey">2</td>
2246                                 <td>ru</td>
2247 </tr>
2248 </table></td>
2249 </tr>
2250 <tr>
2251                                 <td valign="top" class="dBug_arrayKey">sv-iso-8859-1</td>
2252                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2253                                 <tr>
2254                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2255                                 </tr><tr>
2256                                 <td valign="top" class="dBug_arrayKey">0</td>
2257                                 <td>sv|swedish</td>
2258 </tr>
2259 <tr>
2260                                 <td valign="top" class="dBug_arrayKey">1</td>
2261                                 <td>swedish-iso-8859-1</td>
2262 </tr>
2263 <tr>
2264                                 <td valign="top" class="dBug_arrayKey">2</td>
2265                                 <td>sv</td>
2266 </tr>
2267 </table></td>
2268 </tr>
2269 <tr>
2270                                 <td valign="top" class="dBug_arrayKey">tr-iso-8859-9</td>
2271                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2272                                 <tr>
2273                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2274                                 </tr><tr>
2275                                 <td valign="top" class="dBug_arrayKey">0</td>
2276                                 <td>tr|turkish</td>
2277 </tr>
2278 <tr>
2279                                 <td valign="top" class="dBug_arrayKey">1</td>
2280                                 <td>turkish-iso-8859-9</td>
2281 </tr>
2282 <tr>
2283                                 <td valign="top" class="dBug_arrayKey">2</td>
2284                                 <td>tr</td>
2285 </tr>
2286 </table></td>
2287 </tr>
2288 <tr>
2289                                 <td valign="top" class="dBug_arrayKey">tr-utf-8</td>
2290                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2291                                 <tr>
2292                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2293                                 </tr><tr>
2294                                 <td valign="top" class="dBug_arrayKey">0</td>
2295                                 <td>tr|turkish</td>
2296 </tr>
2297 <tr>
2298                                 <td valign="top" class="dBug_arrayKey">1</td>
2299                                 <td>turkish-utf-8</td>
2300 </tr>
2301 <tr>
2302                                 <td valign="top" class="dBug_arrayKey">2</td>
2303                                 <td>tr</td>
2304 </tr>
2305 </table></td>
2306 </tr>
2307 <tr>
2308                                 <td valign="top" class="dBug_arrayKey">zh-tw-utf-8</td>
2309                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2310                                 <tr>
2311                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2312                                 </tr><tr>
2313                                 <td valign="top" class="dBug_arrayKey">0</td>
2314                                 <td>zh[-_]tw|chinese traditional</td>
2315 </tr>
2316 <tr>
2317                                 <td valign="top" class="dBug_arrayKey">1</td>
2318                                 <td>chinese_traditional-utf-8</td>
2319 </tr>
2320 <tr>
2321                                 <td valign="top" class="dBug_arrayKey">2</td>
2322                                 <td>zh-TW</td>
2323 </tr>
2324 </table></td>
2325 </tr>
2326 <tr>
2327                                 <td valign="top" class="dBug_arrayKey">zh-tw-big5</td>
2328                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2329                                 <tr>
2330                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2331                                 </tr><tr>
2332                                 <td valign="top" class="dBug_arrayKey">0</td>
2333                                 <td>zh[-_]tw|chinese traditional</td>
2334 </tr>
2335 <tr>
2336                                 <td valign="top" class="dBug_arrayKey">1</td>
2337                                 <td>chinese-big5</td>
2338 </tr>
2339 <tr>
2340                                 <td valign="top" class="dBug_arrayKey">2</td>
2341                                 <td>zh-TW</td>
2342 </tr>
2343 </table></td>
2344 </tr>
2345 <tr>
2346                                 <td valign="top" class="dBug_arrayKey">zh-utf-8</td>
2347                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2348                                 <tr>
2349                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2350                                 </tr><tr>
2351                                 <td valign="top" class="dBug_arrayKey">0</td>
2352                                 <td>zh|chinese simplified</td>
2353 </tr>
2354 <tr>
2355                                 <td valign="top" class="dBug_arrayKey">1</td>
2356                                 <td>chinese_simplified-utf-8</td>
2357 </tr>
2358 <tr>
2359                                 <td valign="top" class="dBug_arrayKey">2</td>
2360                                 <td>zh</td>
2361 </tr>
2362 </table></td>
2363 </tr>
2364 <tr>
2365                                 <td valign="top" class="dBug_arrayKey">zh-gb2312</td>
2366                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2367                                 <tr>
2368                                         <td class="dBug_arrayHeader" colspan="2">array (3)</td>
2369                                 </tr><tr>
2370                                 <td valign="top" class="dBug_arrayKey">0</td>
2371                                 <td>zh|chinese simplified</td>
2372 </tr>
2373 <tr>
2374                                 <td valign="top" class="dBug_arrayKey">1</td>
2375                                 <td>chinese-gb2312</td>
2376 </tr>
2377 <tr>
2378                                 <td valign="top" class="dBug_arrayKey">2</td>
2379                                 <td>zh</td>
2380 </tr>
2381 </table></td>
2382 </tr>
2383 </table></td>
2384 </tr>
2385 <tr>
2386                                 <td valign="top" class="dBug_arrayKey">BANNED_IPS</td>
2387                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2388                                 <tr>
2389                                         <td class="dBug_arrayHeader" colspan="2">array (0)</td>
2390                                 </tr></table></td>
2391 </tr>
2392 <tr>
2393                                 <td valign="top" class="dBug_arrayKey">ERRORS</td>
2394                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2395                                 <tr>
2396                                         <td class="dBug_arrayHeader" colspan="2">array (0)</td>
2397                                 </tr></table></td>
2398 </tr>
2399 <tr>
2400                                 <td valign="top" class="dBug_arrayKey">QUERY_COUNT</td>
2401                                 <td>7</td>
2402 </tr>
2403 <tr>
2404                                 <td valign="top" class="dBug_arrayKey">ERROR_OVERRIDE</td>
2405                                 <td>FALSE</td>
2406 </tr>
2407 <tr>
2408                                 <td valign="top" class="dBug_arrayKey">ERROR_HANDLER_OBJECT</td>
2409                                 <td><table cellspacing="2" cellpadding="3" class="dBug_object">
2410                                 <tr>
2411                                         <td class="dBug_objectHeader" colspan="2">Object id #11 (SGL_ErrorHandler)</td>
2412                                 </tr><tr>
2413                                 <td valign="top" class="dBug_objectKey">errorType</td>
2414                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2415                                 <tr>
2416                                         <td class="dBug_arrayHeader" colspan="2">array (12)</td>
2417                                 </tr><tr>
2418                                 <td valign="top" class="dBug_arrayKey">1</td>
2419                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2420                                 <tr>
2421                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2422                                 </tr><tr>
2423                                 <td valign="top" class="dBug_arrayKey">0</td>
2424                                 <td>Error</td>
2425 </tr>
2426 <tr>
2427                                 <td valign="top" class="dBug_arrayKey">1</td>
2428                                 <td>3</td>
2429 </tr>
2430 </table></td>
2431 </tr>
2432 <tr>
2433                                 <td valign="top" class="dBug_arrayKey">2</td>
2434                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2435                                 <tr>
2436                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2437                                 </tr><tr>
2438                                 <td valign="top" class="dBug_arrayKey">0</td>
2439                                 <td>Warning</td>
2440 </tr>
2441 <tr>
2442                                 <td valign="top" class="dBug_arrayKey">1</td>
2443                                 <td>4</td>
2444 </tr>
2445 </table></td>
2446 </tr>
2447 <tr>
2448                                 <td valign="top" class="dBug_arrayKey">4</td>
2449                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2450                                 <tr>
2451                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2452                                 </tr><tr>
2453                                 <td valign="top" class="dBug_arrayKey">0</td>
2454                                 <td>Parsing Error</td>
2455 </tr>
2456 <tr>
2457                                 <td valign="top" class="dBug_arrayKey">1</td>
2458                                 <td>3</td>
2459 </tr>
2460 </table></td>
2461 </tr>
2462 <tr>
2463                                 <td valign="top" class="dBug_arrayKey">8</td>
2464                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2465                                 <tr>
2466                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2467                                 </tr><tr>
2468                                 <td valign="top" class="dBug_arrayKey">0</td>
2469                                 <td>Notice</td>
2470 </tr>
2471 <tr>
2472                                 <td valign="top" class="dBug_arrayKey">1</td>
2473                                 <td>5</td>
2474 </tr>
2475 </table></td>
2476 </tr>
2477 <tr>
2478                                 <td valign="top" class="dBug_arrayKey">16</td>
2479                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2480                                 <tr>
2481                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2482                                 </tr><tr>
2483                                 <td valign="top" class="dBug_arrayKey">0</td>
2484                                 <td>Core Error</td>
2485 </tr>
2486 <tr>
2487                                 <td valign="top" class="dBug_arrayKey">1</td>
2488                                 <td>3</td>
2489 </tr>
2490 </table></td>
2491 </tr>
2492 <tr>
2493                                 <td valign="top" class="dBug_arrayKey">32</td>
2494                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2495                                 <tr>
2496                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2497                                 </tr><tr>
2498                                 <td valign="top" class="dBug_arrayKey">0</td>
2499                                 <td>Core Warning</td>
2500 </tr>
2501 <tr>
2502                                 <td valign="top" class="dBug_arrayKey">1</td>
2503                                 <td>4</td>
2504 </tr>
2505 </table></td>
2506 </tr>
2507 <tr>
2508                                 <td valign="top" class="dBug_arrayKey">64</td>
2509                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2510                                 <tr>
2511                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2512                                 </tr><tr>
2513                                 <td valign="top" class="dBug_arrayKey">0</td>
2514                                 <td>Compile Error</td>
2515 </tr>
2516 <tr>
2517                                 <td valign="top" class="dBug_arrayKey">1</td>
2518                                 <td>3</td>
2519 </tr>
2520 </table></td>
2521 </tr>
2522 <tr>
2523                                 <td valign="top" class="dBug_arrayKey">128</td>
2524                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2525                                 <tr>
2526                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2527                                 </tr><tr>
2528                                 <td valign="top" class="dBug_arrayKey">0</td>
2529                                 <td>Compile Warning</td>
2530 </tr>
2531 <tr>
2532                                 <td valign="top" class="dBug_arrayKey">1</td>
2533                                 <td>4</td>
2534 </tr>
2535 </table></td>
2536 </tr>
2537 <tr>
2538                                 <td valign="top" class="dBug_arrayKey">256</td>
2539                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2540                                 <tr>
2541                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2542                                 </tr><tr>
2543                                 <td valign="top" class="dBug_arrayKey">0</td>
2544                                 <td>User Error</td>
2545 </tr>
2546 <tr>
2547                                 <td valign="top" class="dBug_arrayKey">1</td>
2548                                 <td>3</td>
2549 </tr>
2550 </table></td>
2551 </tr>
2552 <tr>
2553                                 <td valign="top" class="dBug_arrayKey">512</td>
2554                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2555                                 <tr>
2556                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2557                                 </tr><tr>
2558                                 <td valign="top" class="dBug_arrayKey">0</td>
2559                                 <td>User Warning</td>
2560 </tr>
2561 <tr>
2562                                 <td valign="top" class="dBug_arrayKey">1</td>
2563                                 <td>4</td>
2564 </tr>
2565 </table></td>
2566 </tr>
2567 <tr>
2568                                 <td valign="top" class="dBug_arrayKey">1024</td>
2569                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2570                                 <tr>
2571                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2572                                 </tr><tr>
2573                                 <td valign="top" class="dBug_arrayKey">0</td>
2574                                 <td>User Notice</td>
2575 </tr>
2576 <tr>
2577                                 <td valign="top" class="dBug_arrayKey">1</td>
2578                                 <td>5</td>
2579 </tr>
2580 </table></td>
2581 </tr>
2582 <tr>
2583                                 <td valign="top" class="dBug_arrayKey">2047</td>
2584                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2585                                 <tr>
2586                                         <td class="dBug_arrayHeader" colspan="2">array (2)</td>
2587                                 </tr><tr>
2588                                 <td valign="top" class="dBug_arrayKey">0</td>
2589                                 <td>All</td>
2590 </tr>
2591 <tr>
2592                                 <td valign="top" class="dBug_arrayKey">1</td>
2593                                 <td>7</td>
2594 </tr>
2595 </table></td>
2596 </tr>
2597 </table></td>
2598 </tr>
2599 <tr>
2600                                 <td valign="top" class="dBug_objectKey">sourceContextOptions</td>
2601                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2602                                 <tr>
2603                                         <td class="dBug_arrayHeader" colspan="2">array (1)</td>
2604                                 </tr><tr>
2605                                 <td valign="top" class="dBug_arrayKey">lines</td>
2606                                 <td>5</td>
2607 </tr>
2608 </table></td>
2609 </tr>
2610 <tr>
2611                                 <td valign="top" class="dBug_objectKey">SGL_ErrorHandler</td>
2612                                 <td>[function]</td>
2613 </tr>
2614 <tr>
2615                                 <td valign="top" class="dBug_objectKey">startHandler</td>
2616                                 <td>[function]</td>
2617 </tr>
2618 <tr>
2619                                 <td valign="top" class="dBug_objectKey">errHandler</td>
2620                                 <td>[function]</td>
2621 </tr>
2622 <tr>
2623                                 <td valign="top" class="dBug_objectKey">_getSourceContext</td>
2624                                 <td>[function]</td>
2625 </tr>
2626 </table></td>
2627 </tr>
2628 <tr>
2629                                 <td valign="top" class="dBug_arrayKey">ERROR_HANDLER_METHOD</td>
2630                                 <td>errHandler</td>
2631 </tr>
2632 <tr>
2633                                 <td valign="top" class="dBug_arrayKey">TRUSTED_IPS</td>
2634                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2635                                 <tr>
2636                                         <td class="dBug_arrayHeader" colspan="2">array (1)</td>
2637                                 </tr><tr>
2638                                 <td valign="top" class="dBug_arrayKey">0</td>
2639                                 <td>127.0.0.1</td>
2640 </tr>
2641 </table></td>
2642 </tr>
2643 <tr>
2644                                 <td valign="top" class="dBug_arrayKey">TRANSLATION</td>
2645                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
2646                                 <tr>
2647                                         <td class="dBug_arrayHeader" colspan="2">array (452)</td>
2648                                 </tr><tr>
2649                                 <td valign="top" class="dBug_arrayKey">Welcome to</td>
2650                                 <td>Welcome to</td>
2651 </tr>
2652 <tr>
2653                                 <td valign="top" class="dBug_arrayKey">Home</td>
2654                                 <td>Home</td>
2655 </tr>
2656 <tr>
2657                                 <td valign="top" class="dBug_arrayKey">Categories</td>
2658                                 <td>Categories</td>
2659 </tr>
2660 <tr>
2661                                 <td valign="top" class="dBug_arrayKey">Documents</td>
2662                                 <td>Documents</td>
2663 </tr>
2664 <tr>
2665                                 <td valign="top" class="dBug_arrayKey">Articles</td>
2666                                 <td>Articles</td>
2667 </tr>
2668 <tr>
2669                                 <td valign="top" class="dBug_arrayKey">Permissions</td>
2670                                 <td>Permissions</td>
2671 </tr>
2672 <tr>
2673                                 <td valign="top" class="dBug_arrayKey">No expire</td>
2674                                 <td>No expire</td>
2675 </tr>
2676 <tr>
2677                                 <td valign="top" class="dBug_arrayKey">Module Manager</td>
2678                                 <td>Module Manager</td>
2679 </tr>
2680 <tr>
2681                                 <td valign="top" class="dBug_arrayKey">Module Manager :: Add</td>
2682                                 <td>Module Manager :: Add</td>
2683 </tr>
2684 <tr>
2685                                 <td valign="top" class="dBug_arrayKey">Module Manager :: Edit</td>
2686                                 <td>Module Manager :: Edit</td>
2687 </tr>
2688 <tr>
2689                                 <td valign="top" class="dBug_arrayKey">Refresh Module Listing</td>
2690                                 <td>Refresh Module Listing</td>
2691 </tr>
2692 <tr>
2693                                 <td valign="top" class="dBug_arrayKey">WARNING: This will drop your database</td>
2694                                 <td>WARNING: This will drop your database and create your Seagull environment from discovered data files. It will only work correctly if your current database user has full privileges, ie to drop and create databases.</td>
2695 </tr>
2696 <tr>
2697                                 <td valign="top" class="dBug_arrayKey">with sample data</td>
2698                                 <td>with sample data</td>
2699 </tr>
2700 <tr>
2701                                 <td valign="top" class="dBug_arrayKey">Module Config Manager</td>
2702                                 <td>Module Config Manager</td>
2703 </tr>
2704 <tr>
2705                                 <td valign="top" class="dBug_arrayKey">Some errors occured. Please see following message(s)</td>
2706                                 <td>Some errors occured. Please see following message(s)</td>
2707 </tr>
2708 <tr>
2709                                 <td valign="top" class="dBug_arrayKey">Config Manager</td>
2710                                 <td>Config Manager</td>
2711 </tr>
2712 <tr>
2713                                 <td valign="top" class="dBug_arrayKey">config info successfully updated</td>
2714                                 <td>Config info successfully updated</td>
2715 </tr>
2716 <tr>
2717                                 <td valign="top" class="dBug_arrayKey">Deny list</td>
2718                                 <td>Deny list</td>
2719 </tr>
2720 <tr>
2721                                 <td valign="top" class="dBug_arrayKey">Allow list</td>
2722                                 <td>Allow list</td>
2723 </tr>
2724 <tr>
2725                                 <td valign="top" class="dBug_arrayKey">Execution Time</td>
2726                                 <td>Execution Time</td>
2727 </tr>
2728 <tr>
2729                                 <td valign="top" class="dBug_arrayKey">seconds</td>
2730                                 <td>seconds</td>
2731 </tr>
2732 <tr>
2733                                 <td valign="top" class="dBug_arrayKey">ms</td>
2734                                 <td>ms</td>
2735 </tr>
2736 <tr>
2737                                 <td valign="top" class="dBug_arrayKey">queries</td>
2738                                 <td>queries</td>
2739 </tr>
2740 <tr>
2741                                 <td valign="top" class="dBug_arrayKey">allocated</td>
2742                                 <td>allocated</td>
2743 </tr>
2744 <tr>
2745                                 <td valign="top" class="dBug_arrayKey">Powered by</td>
2746                                 <td>Powered by</td>
2747 </tr>
2748 <tr>
2749                                 <td valign="top" class="dBug_arrayKey">Seagull PHP Framework</td>
2750                                 <td>Seagull PHP Framework</td>
2751 </tr>
2752 <tr>
2753                                 <td valign="top" class="dBug_arrayKey">authorisation failed</td>
2754                                 <td>You do not have sufficient privileges to view this area.</td>
2755 </tr>
2756 <tr>
2757                                 <td valign="top" class="dBug_arrayKey">authentication required</td>
2758                                 <td>You need to login to use this feature.  Fill your username and password below.</td>
2759 </tr>
2760 <tr>
2761                                 <td valign="top" class="dBug_arrayKey">session timeout</td>
2762                                 <td>Your session has timed out, please login again</td>
2763 </tr>
2764 <tr>
2765                                 <td valign="top" class="dBug_arrayKey">You have been successfully logged out</td>
2766                                 <td>You have been successfully logged out</td>
2767 </tr>
2768 <tr>
2769                                 <td valign="top" class="dBug_arrayKey">password emailed out</td>
2770                                 <td>A new password has been emailed to the address you registered with</td>
2771 </tr>
2772 <tr>
2773                                 <td valign="top" class="dBug_arrayKey">email not in system</td>
2774                                 <td>The credentials you entered could not be recognised, please try again</td>
2775 </tr>
2776 <tr>
2777                                 <td valign="top" class="dBug_arrayKey">email submitted successfully</td>
2778                                 <td>Your email has been submitted successfully</td>
2779 </tr>
2780 <tr>
2781                                 <td valign="top" class="dBug_arrayKey">There was a problem sending the email</td>
2782                                 <td>There was a problem sending the email</td>
2783 </tr>
2784 <tr>
2785                                 <td valign="top" class="dBug_arrayKey">message ID not recognised</td>
2786                                 <td>message ID not recognised</td>
2787 </tr>
2788 <tr>
2789                                 <td valign="top" class="dBug_arrayKey">Please fill in the indicated fields</td>
2790                                 <td>Please fill in all the indicated fields and try again</td>
2791 </tr>
2792 <tr>
2793                                 <td valign="top" class="dBug_arrayKey">Your alert has been sent successfully</td>
2794                                 <td>Your alert has been sent successfully</td>
2795 </tr>
2796 <tr>
2797                                 <td valign="top" class="dBug_arrayKey">Are you sure you want to delete this</td>
2798                                 <td>Are you sure you want to delete this</td>
2799 </tr>
2800 <tr>
2801                                 <td valign="top" class="dBug_arrayKey">module deregister msg</td>
2802                                 <td>An attempt will be made to drop this module\'s tables and data, are you sure you want to proceed?</td>
2803 </tr>
2804 <tr>
2805                                 <td valign="top" class="dBug_arrayKey">module deletion msg</td>
2806                                 <td>An attempt will be made to delete this module\'s files from your filesystem, are you sure you want to proceed?</td>
2807 </tr>
2808 <tr>
2809                                 <td valign="top" class="dBug_arrayKey">Module</td>
2810                                 <td>Module</td>
2811 </tr>
2812 <tr>
2813                                 <td valign="top" class="dBug_arrayKey">Module list</td>
2814                                 <td>Module list</td>
2815 </tr>
2816 <tr>
2817                                 <td valign="top" class="dBug_arrayKey">Active</td>
2818                                 <td>Active</td>
2819 </tr>
2820 <tr>
2821                                 <td valign="top" class="dBug_arrayKey">install</td>
2822                                 <td>install</td>
2823 </tr>
2824 <tr>
2825                                 <td valign="top" class="dBug_arrayKey">uninstall</td>
2826                                 <td>uninstall</td>
2827 </tr>
2828 <tr>
2829                                 <td valign="top" class="dBug_arrayKey">deregister</td>
2830                                 <td>deregister</td>
2831 </tr>
2832 <tr>
2833                                 <td valign="top" class="dBug_arrayKey">remove</td>
2834                                 <td>remove</td>
2835 </tr>
2836 <tr>
2837                                 <td valign="top" class="dBug_arrayKey">module successfully updated</td>
2838                                 <td>Module info successfully updated</td>
2839 </tr>
2840 <tr>
2841                                 <td valign="top" class="dBug_arrayKey">module successfully removed</td>
2842                                 <td>Module successfully removed</td>
2843 </tr>
2844 <tr>
2845                                 <td valign="top" class="dBug_arrayKey">The name of the module must be the exact name of the folder containing files, beware of case sensitivity</td>
2846                                 <td>The name of the module must be the exact name of the folder containing files, beware of case sensitivity</td>
2847 </tr>
2848 <tr>
2849                                 <td valign="top" class="dBug_arrayKey">Here you can write what you want</td>
2850                                 <td>Here you can write what you want</td>
2851 </tr>
2852 <tr>
2853                                 <td valign="top" class="dBug_arrayKey">Simply provide an icon</td>
2854                                 <td>Simply provide an icon named "module_$moduleName.gif" in "www/themes/default_admin/images/16"</td>
2855 </tr>
2856 <tr>
2857                                 <td valign="top" class="dBug_arrayKey">E-mail</td>
2858                                 <td>E-mail</td>
2859 </tr>
2860 <tr>
2861                                 <td valign="top" class="dBug_arrayKey">Lists</td>
2862                                 <td>Lists</td>
2863 </tr>
2864 <tr>
2865                                 <td valign="top" class="dBug_arrayKey">Subscribe</td>
2866                                 <td>Subscribe</td>
2867 </tr>
2868 <tr>
2869                                 <td valign="top" class="dBug_arrayKey">Unsubscribe</td>
2870                                 <td>Unsubscribe</td>
2871 </tr>
2872 <tr>
2873                                 <td valign="top" class="dBug_arrayKey">Send</td>
2874                                 <td>Send</td>
2875 </tr>
2876 <tr>
2877                                 <td valign="top" class="dBug_arrayKey">Editor type</td>
2878                                 <td>WYSIWYG editor type</td>
2879 </tr>
2880 <tr>
2881                                 <td valign="top" class="dBug_arrayKey">user</td>
2882                                 <td>user</td>
2883 </tr>
2884 <tr>
2885                                 <td valign="top" class="dBug_arrayKey">Username</td>
2886                                 <td>Username</td>
2887 </tr>
2888 <tr>
2889                                 <td valign="top" class="dBug_arrayKey">Action</td>
2890                                 <td>Action</td>
2891 </tr>
2892 <tr>
2893                                 <td valign="top" class="dBug_arrayKey">Select</td>
2894                                 <td>Select</td>
2895 </tr>
2896 <tr>
2897                                 <td valign="top" class="dBug_arrayKey">delete</td>
2898                                 <td>delete</td>
2899 </tr>
2900 <tr>
2901                                 <td valign="top" class="dBug_arrayKey">delete selected</td>
2902                                 <td>delete selected</td>
2903 </tr>
2904 <tr>
2905                                 <td valign="top" class="dBug_arrayKey">Edit</td>
2906                                 <td>Edit</td>
2907 </tr>
2908 <tr>
2909                                 <td valign="top" class="dBug_arrayKey">View</td>
2910                                 <td>View</td>
2911 </tr>
2912 <tr>
2913                                 <td valign="top" class="dBug_arrayKey">move up</td>
2914                                 <td>move up</td>
2915 </tr>
2916 <tr>
2917                                 <td valign="top" class="dBug_arrayKey">move down</td>
2918                                 <td>move down</td>
2919 </tr>
2920 <tr>
2921                                 <td valign="top" class="dBug_arrayKey">finished</td>
2922                                 <td>finished</td>
2923 </tr>
2924 <tr>
2925                                 <td valign="top" class="dBug_arrayKey">back to top</td>
2926                                 <td>back to top</td>
2927 </tr>
2928 <tr>
2929                                 <td valign="top" class="dBug_arrayKey">currently_logged_on_as</td>
2930                                 <td>user</td>
2931 </tr>
2932 <tr>
2933                                 <td valign="top" class="dBug_arrayKey">guest</td>
2934                                 <td>guest</td>
2935 </tr>
2936 <tr>
2937                                 <td valign="top" class="dBug_arrayKey">login</td>
2938                                 <td>login</td>
2939 </tr>
2940 <tr>
2941                                 <td valign="top" class="dBug_arrayKey">logout</td>
2942                                 <td>logout</td>
2943 </tr>
2944 <tr>
2945                                 <td valign="top" class="dBug_arrayKey">session started at</td>
2946                                 <td>session started at</td>
2947 </tr>
2948 <tr>
2949                                 <td valign="top" class="dBug_arrayKey">logged in at</td>
2950                                 <td>logged in at</td>
2951 </tr>
2952 <tr>
2953                                 <td valign="top" class="dBug_arrayKey">displaying results</td>
2954                                 <td>displaying results</td>
2955 </tr>
2956 <tr>
2957                                 <td valign="top" class="dBug_arrayKey">to</td>
2958                                 <td>to</td>
2959 </tr>
2960 <tr>
2961                                 <td valign="top" class="dBug_arrayKey">from a total of</td>
2962                                 <td>from a total of</td>
2963 </tr>
2964 <tr>
2965                                 <td valign="top" class="dBug_arrayKey">back</td>
2966                                 <td>back</td>
2967 </tr>
2968 <tr>
2969                                 <td valign="top" class="dBug_arrayKey">next</td>
2970                                 <td>next</td>
2971 </tr>
2972 <tr>
2973                                 <td valign="top" class="dBug_arrayKey">finish</td>
2974                                 <td>finish</td>
2975 </tr>
2976 <tr>
2977                                 <td valign="top" class="dBug_arrayKey">yes</td>
2978                                 <td>yes</td>
2979 </tr>
2980 <tr>
2981                                 <td valign="top" class="dBug_arrayKey">no</td>
2982                                 <td>no</td>
2983 </tr>
2984 <tr>
2985                                 <td valign="top" class="dBug_arrayKey">Send it</td>
2986                                 <td>Send it</td>
2987 </tr>
2988 <tr>
2989                                 <td valign="top" class="dBug_arrayKey">Submit</td>
2990                                 <td>Submit</td>
2991 </tr>
2992 <tr>
2993                                 <td valign="top" class="dBug_arrayKey">Cancel</td>
2994                                 <td>Cancel</td>
2995 </tr>
2996 <tr>
2997                                 <td valign="top" class="dBug_arrayKey">Reset</td>
2998                                 <td>Reset</td>
2999 </tr>
3000 <tr>
3001                                 <td valign="top" class="dBug_arrayKey">reset</td>
3002                                 <td>reset</td>
3003 </tr>
3004 <tr>
3005                                 <td valign="top" class="dBug_arrayKey">Save</td>
3006                                 <td>Save</td>
3007 </tr>
3008 <tr>
3009                                 <td valign="top" class="dBug_arrayKey">add</td>
3010                                 <td>add</td>
3011 </tr>
3012 <tr>
3013                                 <td valign="top" class="dBug_arrayKey">edit</td>
3014                                 <td>Edit</td>
3015 </tr>
3016 <tr>
3017                                 <td valign="top" class="dBug_arrayKey">move</td>
3018                                 <td>move</td>
3019 </tr>
3020 <tr>
3021                                 <td valign="top" class="dBug_arrayKey">Manage</td>
3022                                 <td>Manage</td>
3023 </tr>
3024 <tr>
3025                                 <td valign="top" class="dBug_arrayKey">Title</td>
3026                                 <td>Title</td>
3027 </tr>
3028 <tr>
3029                                 <td valign="top" class="dBug_arrayKey">Status</td>
3030                                 <td>Status</td>
3031 </tr>
3032 <tr>
3033                                 <td valign="top" class="dBug_arrayKey">ID</td>
3034                                 <td>ID</td>
3035 </tr>
3036 <tr>
3037                                 <td valign="top" class="dBug_arrayKey">Name</td>
3038                                 <td>Name</td>
3039 </tr>
3040 <tr>
3041                                 <td valign="top" class="dBug_arrayKey">check to activate</td>
3042                                 <td>check to activate</td>
3043 </tr>
3044 <tr>
3045                                 <td valign="top" class="dBug_arrayKey">Password</td>
3046                                 <td>Password</td>
3047 </tr>
3048 <tr>
3049                                 <td valign="top" class="dBug_arrayKey">Login</td>
3050                                 <td>Login</td>
3051 </tr>
3052 <tr>
3053                                 <td valign="top" class="dBug_arrayKey">Forgot Password</td>
3054                                 <td>Forgot Your Password</td>
3055 </tr>
3056 <tr>
3057                                 <td valign="top" class="dBug_arrayKey">Not Registered</td>
3058                                 <td>Not Registered?</td>
3059 </tr>
3060 <tr>
3061                                 <td valign="top" class="dBug_arrayKey">Email</td>
3062                                 <td>Email</td>
3063 </tr>
3064 <tr>
3065                                 <td valign="top" class="dBug_arrayKey">Bug Report</td>
3066                                 <td>Bug Report</td>
3067 </tr>
3068 <tr>
3069                                 <td valign="top" class="dBug_arrayKey">First Name</td>
3070                                 <td>First Name</td>
3071 </tr>
3072 <tr>
3073                                 <td valign="top" class="dBug_arrayKey">Last Name</td>
3074                                 <td>Last Name</td>
3075 </tr>
3076 <tr>
3077                                 <td valign="top" class="dBug_arrayKey">Severity of bug</td>
3078                                 <td>Severity of bug</td>
3079 </tr>
3080 <tr>
3081                                 <td valign="top" class="dBug_arrayKey">Comment</td>
3082                                 <td>Comment</td>
3083 </tr>
3084 <tr>
3085                                 <td valign="top" class="dBug_arrayKey">Your environment</td>
3086                                 <td>Your environment</td>
3087 </tr>
3088 <tr>
3089                                 <td valign="top" class="dBug_arrayKey">You must fill in your description</td>
3090                                 <td>You must fill in your description</td>
3091 </tr>
3092 <tr>
3093                                 <td valign="top" class="dBug_arrayKey">You must fill in your comment</td>
3094                                 <td>You must fill in your comment</td>
3095 </tr>
3096 <tr>
3097                                 <td valign="top" class="dBug_arrayKey">Your email is not correctly formatted</td>
3098                                 <td>Your email is not correctly formatted</td>
3099 </tr>
3100 <tr>
3101                                 <td valign="top" class="dBug_arrayKey">You must enter your email</td>
3102                                 <td>You must enter your email</td>
3103 </tr>
3104 <tr>
3105                                 <td valign="top" class="dBug_arrayKey">Enabled</td>
3106                                 <td>Enabled</td>
3107 </tr>
3108 <tr>
3109                                 <td valign="top" class="dBug_arrayKey">disable</td>
3110                                 <td>disable</td>
3111 </tr>
3112 <tr>
3113                                 <td valign="top" class="dBug_arrayKey">Disabled</td>
3114                                 <td>Disabled</td>
3115 </tr>
3116 <tr>
3117                                 <td valign="top" class="dBug_arrayKey">You must select an element to delete</td>
3118                                 <td>You must select an element to delete</td>
3119 </tr>
3120 <tr>
3121                                 <td valign="top" class="dBug_arrayKey">no results found</td>
3122                                 <td>no results found</td>
3123 </tr>
3124 <tr>
3125                                 <td valign="top" class="dBug_arrayKey">You have been banned</td>
3126                                 <td>You have been banned from this site. Contact the administrator for more information</td>
3127 </tr>
3128 <tr>
3129                                 <td valign="top" class="dBug_arrayKey">Invalid POST source</td>
3130                                 <td>The form appears to have been posted from an unauthorised source</td>
3131 </tr>
3132 <tr>
3133                                 <td valign="top" class="dBug_arrayKey">You are here</td>
3134                                 <td>You are here</td>
3135 </tr>
3136 <tr>
3137                                 <td valign="top" class="dBug_arrayKey">whats this?</td>
3138                                 <td>what's this?</td>
3139 </tr>
3140 <tr>
3141                                 <td valign="top" class="dBug_arrayKey">denotes required field</td>
3142                                 <td>denotes required field</td>
3143 </tr>
3144 <tr>
3145                                 <td valign="top" class="dBug_arrayKey">at time</td>
3146                                 <td>at</td>
3147 </tr>
3148 <tr>
3149                                 <td valign="top" class="dBug_arrayKey">aMonths</td>
3150                                 <td><table cellspacing="2" cellpadding="3" class="dBug_array">
3151                                 <tr>
3152                                         <td class="dBug_arrayHeader" colspan="2">array (12)</td>
3153                                 </tr><tr>
3154                                 <td valign="top" class="dBug_arrayKey">1</td>
3155                                 <td>January</td>
3156 </tr>
3157 <tr>
3158                                 <td valign="top" class="dBug_arrayKey">2</td>
3159                                 <td>February</td>
3160 </tr>
3161 <tr>
3162                                 <td valign="top" class="dBug_arrayKey">3</td>
3163                                 <td>March</td>
3164 </tr>
3165 <tr>
3166                                 <td valign="top" class="dBug_arrayKey">4</td>
3167                                 <td>April</td>
3168 </tr>
3169 <tr>
3170                                 <td valign="top" class="dBug_arrayKey">5</td>
3171                                 <td>May</td>
3172 </tr>
3173 <tr>
3174                                 <td valign="top" class="dBug_arrayKey">6</td>
3175                                 <td>June</td>
3176 </tr>
3177 <tr>
3178                                 <td valign="top" class="dBug_arrayKey">7</td>
3179                                 <td>July</td>
3180 </tr>
3181 <tr>
3182                                 <td valign="top" class="dBug_arrayKey">8</td>
3183                                 <td>August</td>
3184 </tr>
3185 <tr>
3186                                 <td valign="top" class="dBug_arrayKey">9</td>
3187                                 <td>September</td>
3188 </tr>
3189 <tr>
3190                                 <td valign="top" class="dBug_arrayKey">10</td>
3191                                 <td>October</td>
3192 </tr>
3193 <tr>
3194                                 <td valign="top" class="dBug_arrayKey">11</td>
3195                                 <td>November</td>
3196 </tr>
3197 <tr>
3198                                 <td valign="top" class="dBug_arrayKey">12</td>
3199                                 <td>December</td>
3200 </tr>
3201 </table></td>
3202 </tr>
3203 <tr>
3204                                 <td valign="top" class="dBug_arrayKey">Return to browse</td>
3205                                 <td>Return to browse</td>
3206 </tr>
3207 <tr>
3208                                 <td valign="top" class="dBug_arrayKey">ModuleManager Mgr</td>
3209                                 <td>ModuleManager Mgr</td>
3210 </tr>
3211 <tr>
3212                                 <td valign="top" class="dBug_arrayKey">Add</td>
3213                                 <td>Add</td>
3214 </tr>
3215 <tr>
3216                                 <td valign="top" class="dBug_arrayKey">Delete</td>
3217                                 <td>Delete</td>
3218 </tr>
3219 <tr>
3220                                 <td valign="top" class="dBug_arrayKey">With selected module(s)</td>
3221                                 <td>With selected module(s)</td>
3222 </tr>
3223 <tr>
3224                                 <td valign="top" class="dBug_arrayKey">Add a module</td>
3225                                 <td>Add a module</td>
3226 </tr>
3227 <tr>
3228                                 <td valign="top" class="dBug_arrayKey">Module successfully registered.</td>
3229                                 <td>Module successfully  registered</td>
3230 </tr>
3231 <tr>
3232                                 <td valign="top" class="dBug_arrayKey">Module(s) successfully removed.</td>
3233                                 <td>Module(s) successfully removed.</td>
3234 </tr>
3235 <tr>
3236                                 <td valign="top" class="dBug_arrayKey">Configurable</td>
3237                                 <td>Configurable</td>
3238 </tr>
3239 <tr>
3240                                 <td valign="top" class="dBug_arrayKey">Description</td>
3241                                 <td>Description</td>
3242 </tr>
3243 <tr>
3244                                 <td valign="top" class="dBug_arrayKey">Admin URI</td>
3245                                 <td>Admin URI</td>
3246 </tr>
3247 <tr>
3248                                 <td valign="top" class="dBug_arrayKey">Icon</td>
3249                                 <td>Icon</td>
3250 </tr>
3251 <tr>
3252                                 <td valign="top" class="dBug_arrayKey">Please, specify a name</td>
3253                                 <td>Please, specify a name</td>
3254 </tr>
3255 <tr>
3256                                 <td valign="top" class="dBug_arrayKey">Please, specify a title</td>
3257                                 <td>Please, specify a title</td>
3258 </tr>
3259 <tr>
3260                                 <td valign="top" class="dBug_arrayKey">Please, specify a description</td>
3261                                 <td>Please, specify a description</td>
3262 </tr>
3263 <tr>
3264                                 <td valign="top" class="dBug_arrayKey">Please, specify the url to link to</td>
3265                                 <td>Please, specify the url to link to</td>
3266 </tr>
3267 <tr>
3268                                 <td valign="top" class="dBug_arrayKey">Please, specify the name of the icon-file</td>
3269                                 <td>Please, specify the name of the icon-file</td>
3270 </tr>
3271 <tr>
3272                                 <td valign="top" class="dBug_arrayKey">you do not have perms</td>
3273                                 <td>You do not have the required perms to perform this action</td>
3274 </tr>
3275 <tr>
3276                                 <td valign="top" class="dBug_arrayKey">you are not allowed to access this data</td>
3277                                 <td>You do not have the required perms to interact with this data</td>
3278 </tr>
3279 <tr>
3280                                 <td valign="top" class="dBug_arrayKey">this element has been deleted</td>
3281                                 <td>This element has been deleted</td>
3282 </tr>
3283 <tr>
3284                                 <td valign="top" class="dBug_arrayKey">Please use the following form to edit your config file</td>
3285                                 <td>Please use the following form to edit your config file</td>
3286 </tr>
3287 <tr>
3288                                 <td valign="top" class="dBug_arrayKey">General Site Options</td>
3289                                 <td>General Site Options</td>
3290 </tr>
3291 <tr>
3292                                 <td valign="top" class="dBug_arrayKey">Base URL</td>
3293                                 <td>Base URL</td>
3294 </tr>
3295 <tr>
3296                                 <td valign="top" class="dBug_arrayKey">Session max lifetime (secs)</td>
3297                                 <td>Session max lifetime (secs)</td>
3298 </tr>
3299 <tr>
3300                                 <td valign="top" class="dBug_arrayKey">Site name</td>
3301                                 <td>Site name</td>
3302 </tr>
3303 <tr>
3304                                 <td valign="top" class="dBug_arrayKey">Show logo</td>
3305                                 <td>Show logo</td>
3306 </tr>
3307 <tr>
3308                                 <td valign="top" class="dBug_arrayKey">Gzip compression</td>
3309                                 <td>Gzip compression</td>
3310 </tr>
3311 <tr>
3312                                 <td valign="top" class="dBug_arrayKey">Output buffering</td>
3313                                 <td>Output buffering</td>
3314 </tr>
3315 <tr>
3316                                 <td valign="top" class="dBug_arrayKey">Enable IP banning</td>
3317                                 <td>Enable IP banning</td>
3318 </tr>
3319 <tr>
3320                                 <td valign="top" class="dBug_arrayKey">Enable Tidy html cleaning</td>
3321                                 <td>Enable Tidy html cleaning</td>
3322 </tr>
3323 <tr>
3324                                 <td valign="top" class="dBug_arrayKey">Session handler</td>
3325                                 <td>Session handler</td>
3326 </tr>
3327 <tr>
3328                                 <td valign="top" class="dBug_arrayKey">Extended Session</td>
3329                                 <td>Extended Session</td>
3330 </tr>
3331 <tr>
3332                                 <td valign="top" class="dBug_arrayKey">Enforce Single User</td>
3333                                 <td>Enforce Single User</td>
3334 </tr>
3335 <tr>
3336                                 <td valign="top" class="dBug_arrayKey">You are allowed to connect from one computer at a time, other sessions were terminated!</td>
3337                                 <td>You are allowed to connect from one computer at a time, other sessions were terminated!</td>
3338 </tr>
3339 <tr>
3340                                 <td valign="top" class="dBug_arrayKey">You have multiple sessions on this site!</td>
3341                                 <td>You have multiple sessions on this site!</td>
3342 </tr>
3343 <tr>
3344                                 <td valign="top" class="dBug_arrayKey">Enables extended session API when using database sessions. This allows the site to enforce one session per user.</td>
3345                                 <td>Enables extended session API when using database sessions. This allows the site to enforce one session per user.</td>
3346 </tr>
3347 <tr>
3348                                 <td valign="top" class="dBug_arrayKey">Enforces one session per user on this site (requires database session handling, and extended session to be on).</td>
3349                                 <td>Enforces one session per user on this site (requires database session handling, and extended session to be on).</td>
3350 </tr>
3351 <tr>
3352                                 <td valign="top" class="dBug_arrayKey">Guests</td>
3353                                 <td>Guests</td>
3354 </tr>
3355 <tr>
3356                                 <td valign="top" class="dBug_arrayKey">Members</td>
3357                                 <td>Members</td>
3358 </tr>
3359 <tr>
3360                                 <td valign="top" class="dBug_arrayKey">Total</td>
3361                                 <td>Total</td>
3362 </tr>
3363 <tr>
3364                                 <td valign="top" class="dBug_arrayKey">Enable Blocks</td>
3365                                 <td>Enable Blocks</td>
3366 </tr>
3367 <tr>
3368                                 <td valign="top" class="dBug_arrayKey">Default article view type</td>
3369                                 <td>Default article view type</td>
3370 </tr>
3371 <tr>
3372                                 <td valign="top" class="dBug_arrayKey">Front controller script name</td>
3373                                 <td>Front controller script name</td>
3374 </tr>
3375 <tr>
3376                                 <td valign="top" class="dBug_arrayKey">Default module</td>
3377                                 <td>Default module</td>
3378 </tr>
3379 <tr>
3380                                 <td valign="top" class="dBug_arrayKey">Default manager</td>
3381                                 <td>Default manager</td>
3382 </tr>
3383 <tr>
3384                                 <td valign="top" class="dBug_arrayKey">Navigation Options</td>
3385                                 <td>Navigation Options</td>
3386 </tr>
3387 <tr>
3388                                 <td valign="top" class="dBug_arrayKey">Enable Navigation</td>
3389                                 <td>Enable Navigation</td>
3390 </tr>
3391 <tr>
3392                                 <td valign="top" class="dBug_arrayKey">Navigation driver</td>
3393                                 <td>Navigation driver</td>
3394 </tr>
3395 <tr>
3396                                 <td valign="top" class="dBug_arrayKey">Navigation Html renderer</td>
3397                                 <td>Navigation Html renderer</td>
3398 </tr>
3399 <tr>
3400                                 <td valign="top" class="dBug_arrayKey">Navigation menu stylesheet</td>
3401                                 <td>Navigation menu stylesheet</td>
3402 </tr>
3403 <tr>
3404                                 <td valign="top" class="dBug_arrayKey">Debugging Options</td>
3405                                 <td>Debugging Options</td>
3406 </tr>
3407 <tr>
3408                                 <td valign="top" class="dBug_arrayKey">Enable authorisation</td>
3409                                 <td>Enable authorisation</td>
3410 </tr>
3411 <tr>
3412                                 <td valign="top" class="dBug_arrayKey">Enable custom error handler</td>
3413                                 <td>Enable custom error handler</td>
3414 </tr>
3415 <tr>
3416                                 <td valign="top" class="dBug_arrayKey">Enable debug session</td>
3417                                 <td>Enable debug session</td>
3418 </tr>
3419 <tr>
3420                                 <td valign="top" class="dBug_arrayKey">Enable debug block</td>
3421                                 <td>Enable debug block - [USE WITH CAUTION!]</td>
3422 </tr>
3423 <tr>
3424                                 <td valign="top" class="dBug_arrayKey">Your database can be dropped if this block is enabled</td>
3425                                 <td>Your database can be dropped if this block is enabled, use for development purposes only</td>
3426 </tr>
3427 <tr>
3428                                 <td valign="top" class="dBug_arrayKey">Production website</td>
3429                                 <td>Production website</td>
3430 </tr>
3431 <tr>
3432                                 <td valign="top" class="dBug_arrayKey">Show backtrace</td>
3433                                 <td>Show backtrace</td>
3434 </tr>
3435 <tr>
3436                                 <td valign="top" class="dBug_arrayKey">Enable Profiling</td>
3437                                 <td>Enable Profiling</td>
3438 </tr>
3439 <tr>
3440                                 <td valign="top" class="dBug_arrayKey">Email admin threshold</td>
3441                                 <td>Email admin threshold</td>
3442 </tr>
3443 <tr>
3444                                 <td valign="top" class="dBug_arrayKey">Mark words which were not translated</td>
3445                                 <td>Mark words which were not translated</td>
3446 </tr>
3447 <tr>
3448                                 <td valign="top" class="dBug_arrayKey">Caching Options</td>
3449                                 <td>Caching Options</td>
3450 </tr>
3451 <tr>
3452                                 <td valign="top" class="dBug_arrayKey">Enable global caching</td>
3453                                 <td>Enable global caching</td>
3454 </tr>
3455 <tr>
3456                                 <td valign="top" class="dBug_arrayKey">Enable library caching</td>
3457                                 <td>Enable library caching</td>
3458 </tr>
3459 <tr>
3460                                 <td valign="top" class="dBug_arrayKey">Cache lifetime (secs)</td>
3461                                 <td>Cache lifetime (secs)</td>
3462 </tr>
3463 <tr>
3464                                 <td valign="top" class="dBug_arrayKey">Database Options</td>
3465                                 <td>Database Options</td>
3466 </tr>
3467 <tr>
3468                                 <td valign="top" class="dBug_arrayKey">Type</td>
3469                                 <td>Type</td>
3470 </tr>
3471 <tr>
3472                                 <td valign="top" class="dBug_arrayKey">Host</td>
3473                                 <td>Host</td>
3474 </tr>
3475 <tr>
3476                                 <td valign="top" class="dBug_arrayKey">Port</td>
3477                                 <td>Port</td>
3478 </tr>
3479 <tr>
3480                                 <td valign="top" class="dBug_arrayKey">Protocol</td>
3481                                 <td>Protocol</td>
3482 </tr>
3483 <tr>
3484                                 <td valign="top" class="dBug_arrayKey">Socket</td>
3485                                 <td>Socket</td>
3486 </tr>
3487 <tr>
3488                                 <td valign="top" class="dBug_arrayKey">DB username</td>
3489                                 <td>DB username</td>
3490 </tr>
3491 <tr>
3492                                 <td valign="top" class="dBug_arrayKey">DB password</td>
3493                                 <td>DB password</td>
3494 </tr>
3495 <tr>
3496                                 <td valign="top" class="dBug_arrayKey">DB name</td>
3497                                 <td>DB name</td>
3498 </tr>
3499 <tr>
3500                                 <td valign="top" class="dBug_arrayKey">Post-connection query</td>
3501                                 <td>Post-connection query</td>
3502 </tr>
3503 <tr>
3504                                 <td valign="top" class="dBug_arrayKey">Database Table Mappings</td>
3505                                 <td>Database Table Mappings</td>
3506 </tr>
3507 <tr>
3508                                 <td valign="top" class="dBug_arrayKey">Logging options</td>
3509                                 <td>Logging options</td>
3510 </tr>
3511 <tr>
3512                                 <td valign="top" class="dBug_arrayKey">Enable logs</td>
3513                                 <td>Enable logs</td>
3514 </tr>
3515 <tr>
3516                                 <td valign="top" class="dBug_arrayKey">Log name</td>
3517                                 <td>Log name</td>
3518 </tr>
3519 <tr>
3520                                 <td valign="top" class="dBug_arrayKey">Priority</td>
3521                                 <td>Priority</td>
3522 </tr>
3523 <tr>
3524                                 <td valign="top" class="dBug_arrayKey">Identifier</td>
3525                                 <td>Identifier</td>
3526 </tr>
3527 <tr>
3528                                 <td valign="top" class="dBug_arrayKey">Target username</td>
3529                                 <td>Target username</td>
3530 </tr>
3531 <tr>
3532                                 <td valign="top" class="dBug_arrayKey">Target password</td>
3533                                 <td>Target password</td>
3534 </tr>
3535 <tr>
3536                                 <td valign="top" class="dBug_arrayKey">Email options</td>
3537                                 <td>Email options</td>
3538 </tr>
3539 <tr>
3540                                 <td valign="top" class="dBug_arrayKey">Admin contact</td>
3541                                 <td>Admin contact</td>
3542 </tr>
3543 <tr>
3544                                 <td valign="top" class="dBug_arrayKey">Support contact</td>
3545                                 <td>Support contact</td>
3546 </tr>
3547 <tr>
3548                                 <td valign="top" class="dBug_arrayKey">Info contact</td>
3549                                 <td>Info contact</td>
3550 </tr>
3551 <tr>
3552                                 <td valign="top" class="dBug_arrayKey">Popup window options</td>
3553                                 <td>Popup window options</td>
3554 </tr>
3555 <tr>
3556                                 <td valign="top" class="dBug_arrayKey">Default popup window height</td>
3557                                 <td>Default popup window height</td>
3558 </tr>
3559 <tr>
3560                                 <td valign="top" class="dBug_arrayKey">Default popup window width</td>
3561                                 <td>Default popup window width</td>
3562 </tr>
3563 <tr>
3564                                 <td valign="top" class="dBug_arrayKey">Cookie options</td>
3565                                 <td>Cookie options</td>
3566 </tr>
3567 <tr>
3568                                 <td valign="top" class="dBug_arrayKey">Path</td>
3569                                 <td>Path</td>
3570 </tr>
3571 <tr>
3572                                 <td valign="top" class="dBug_arrayKey">Domain</td>
3573                                 <td>Domain</td>
3574 </tr>
3575 <tr>
3576                                 <td valign="top" class="dBug_arrayKey">Secure</td>
3577                                 <td>Secure</td>
3578 </tr>
3579 <tr>
3580                                 <td valign="top" class="dBug_arrayKey">Censorship</td>
3581                                 <td>Censorship</td>
3582 </tr>
3583 <tr>
3584                                 <td valign="top" class="dBug_arrayKey">Mode</td>
3585                                 <td>Mode</td>
3586 </tr>
3587 <tr>
3588                                 <td valign="top" class="dBug_arrayKey">Replace word with</td>
3589                                 <td>Replace word with</td>
3590 </tr>
3591 <tr>
3592                                 <td valign="top" class="dBug_arrayKey">Disallowed word</td>
3593                                 <td>Disallowed word</td>
3594 </tr>
3595 <tr>
3596                                 <td valign="top" class="dBug_arrayKey">P3P privacy policy</td>
3597                                 <td>P3P privacy policy</td>
3598 </tr>
3599 <tr>
3600                                 <td valign="top" class="dBug_arrayKey">Policies</td>
3601                                 <td>Policies</td>
3602 </tr>
3603 <tr>
3604                                 <td valign="top" class="dBug_arrayKey">Policy location</td>
3605                                 <td>Policy location</td>
3606 </tr>
3607 <tr>
3608                                 <td valign="top" class="dBug_arrayKey">Compact policy</td>
3609                                 <td>Compact policy</td>
3610 </tr>
3611 <tr>
3612                                 <td valign="top" class="dBug_arrayKey">Zero means until the browser is closed</td>
3613                                 <td>Zero means 'until the browser is closed'</td>
3614 </tr>
3615 <tr>
3616                                 <td valign="top" class="dBug_arrayKey">If path to image is specified, image will be shown; if left blank, Site name from above will appear as text</td>
3617                                 <td>If path to image is specified, image will be shown; if left blank, 'Site name' from above will appear as text</td>
3618 </tr>
3619 <tr>
3620                                 <td valign="top" class="dBug_arrayKey">Handy if you dont have access to Apache configuration</td>
3621                                 <td>Handy if you don't have access to Apache configuration</td>
3622 </tr>
3623 <tr>
3624                                 <td valign="top" class="dBug_arrayKey">This way no content items are really deleting from DB, just marked as deleted</td>
3625                                 <td>This way no content items are really deleting from DB, just marked as deleted</td>
3626 </tr>
3627 <tr>
3628                                 <td valign="top" class="dBug_arrayKey">Requires the tidy extension to be installed</td>
3629                                 <td>Requires the tidy extension to be installed</td>
3630 </tr>
3631 <tr>
3632                                 <td valign="top" class="dBug_arrayKey">Use the database session handler if youre running a load-balanced environment</td>
3633                                 <td>Use the database session handler if you're running a load-balanced environment</td>
3634 </tr>
3635 <tr>
3636                                 <td valign="top" class="dBug_arrayKey">You can turn the blocks off globally</td>
3637                                 <td>You can turn the blocks off globally</td>
3638 </tr>
3639 <tr>
3640                                 <td valign="top" class="dBug_arrayKey">This options allows you to change the default type of article displayed. Default Article View Type: Html Articles (2)</td>
3641                                 <td>This options allows you to change the default type of article displayed. Default Article View Type: Html Articles (2)</td>
3642 </tr>
3643 <tr>
3644                                 <td valign="top" class="dBug_arrayKey">The name of your Seagull index file</td>
3645                                 <td>The name of your Seagull index file</td>
3646 </tr>
3647 <tr>
3648                                 <td valign="top" class="dBug_arrayKey">Currently supported editors are xinha, fck and htmlarea, and you must have the relevant libs in your www dir</td>
3649                                 <td>Currently supported editors are xinha, fck and htmlarea, and you must have the relevant libs in your www dir</td>
3650 </tr>
3651 <tr>
3652                                 <td valign="top" class="dBug_arrayKey">This is the module that will be loaded if none are specified, ie, when you call index.php</td>
3653                                 <td>This is the module that will be loaded if none are specified, ie, when you call index.php</td>
3654 </tr>
3655 <tr>
3656                                 <td valign="top" class="dBug_arrayKey">This is the manager class that will be loaded if none are specified</td>
3657                                 <td>This is the manager class that will be loaded if none are specified - use the shortname, ie use "faq" and not "FaqMgr"</td>
3658 </tr>
3659 <tr>
3660                                 <td valign="top" class="dBug_arrayKey">Disable navigation altogether with this switch</td>
3661                                 <td>Disable navigation altogether with this switch</td>
3662 </tr>
3663 <tr>
3664                                 <td valign="top" class="dBug_arrayKey">Use this option to choose from various menu types - currently only 1 provided</td>
3665                                 <td>Use this option to choose from various menu types - currently only 1 provided</td>
3666 </tr>
3667 <tr>
3668                                 <td valign="top" class="dBug_arrayKey">Defines the appearance of the navigation menu. Preview and make additional changes in the navigation module manager</td>
3669                                 <td>Defines the appearance of the navigation menu. Preview and make additional changes in the navigation module manager</td>
3670 </tr>
3671 <tr>
3672                                 <td valign="top" class="dBug_arrayKey">Debugging easier when this is disabled</td>
3673                                 <td>Debugging easier when this is disabled</td>
3674 </tr>
3675 <tr>
3676                                 <td valign="top" class="dBug_arrayKey">Customise the way errors are handled</td>
3677                                 <td>Customise the way errors are handled</td>
3678 </tr>
3679 <tr>
3680                                 <td valign="top" class="dBug_arrayKey">If your IP appears in the TRUSTED_IPS array, you will be able to view system errors on screen even in production mode (see below)</td>
3681                                 <td>If your IP appears in the TRUSTED_IPS array, you will be able to view system errors on screen even in production mode (see below)</td>
3682 </tr>
3683 <tr>
3684                                 <td valign="top" class="dBug_arrayKey">Setting this to true will disable all screen-based error messages</td>
3685                                 <td>Setting this to true will disable all screen-based error messages</td>
3686 </tr>
3687 <tr>
3688                                 <td valign="top" class="dBug_arrayKey">Requires to Xdebug extension to be installed</td>
3689                                 <td>Requires to Xdebug extension to be installed</td>
3690 </tr>
3691 <tr>
3692                                 <td valign="top" class="dBug_arrayKey">Errors must be >= this level before they are emailed to the site admin</td>
3693                                 <td>Errors must be >= this level before they are emailed to the site admin</td>
3694 </tr>
3695 <tr>
3696                                 <td valign="top" class="dBug_arrayKey">It is recommended to disable this while developing</td>
3697                                 <td>It is recommended to disable this while developing</td>
3698 </tr>
3699 <tr>
3700                                 <td valign="top" class="dBug_arrayKey">Default is 24 hours</td>
3701                                 <td>Default is 24 hours</td>
3702 </tr>
3703 <tr>
3704                                 <td valign="top" class="dBug_arrayKey">Make sure you load the relevant schema</td>
3705                                 <td>Make sure you load the relevant schema - "mysql_SGL" maintains all sequences in a single table (less clutter) whereas "mysql" uses one table per sequence giving twice as many tables (better for performance)</td>
3706 </tr>
3707 <tr>
3708                                 <td valign="top" class="dBug_arrayKey">It is recommended to disable logging if you are running < PHP 4.3.x</td>
3709                                 <td>It is recommended to disable logging if you are running < PHP 4.3.x</td>
3710 </tr>
3711 <tr>
3712                                 <td valign="top" class="dBug_arrayKey">If sql is used, use log_table as the log table name below</td>
3713                                 <td>If 'sql' is used, use 'log_table' as the log table name below</td>
3714 </tr>
3715 <tr>
3716                                 <td valign="top" class="dBug_arrayKey">Use an absolute path or one relative to the Seagull root dir</td>
3717                                 <td>Use an absolute path or one relative to the Seagull root dir</td>
3718 </tr>
3719 <tr>
3720                                 <td valign="top" class="dBug_arrayKey">Error messages get sent here</td>
3721                                 <td>Error messages get sent here</td>
3722 </tr>
3723 <tr>
3724                                 <td valign="top" class="dBug_arrayKey">Contact us enquiries get sent here</td>
3725                                 <td>'Contact us' enquiries get sent here</td>
3726 </tr>
3727 <tr>
3728                                 <td valign="top" class="dBug_arrayKey">This will be your session identifier</td>
3729                                 <td>This will be your session identifier</td>
3730 </tr>
3731 <tr>
3732                                 <td valign="top" class="dBug_arrayKey">Disallowed words</td>
3733                                 <td>Disallowed words</td>
3734 </tr>
3735 <tr>
3736                                 <td valign="top" class="dBug_arrayKey">Enable Safe deleting</td>
3737                                 <td>Enable Safe deleting</td>
3738 </tr>
3739 <tr>
3740                                 <td valign="top" class="dBug_arrayKey">Default params</td>
3741                                 <td>Default params</td>
3742 </tr>
3743 <tr>
3744                                 <td valign="top" class="dBug_arrayKey">Use these params to specify, eg, a static article for your homepage</td>
3745                                 <td>Use these params to specify, eg, a static article for your homepage</td>
3746 </tr>
3747 <tr>
3748                                 <td valign="top" class="dBug_arrayKey">file</td>
3749                                 <td>file</td>
3750 </tr>
3751 <tr>
3752                                 <td valign="top" class="dBug_arrayKey">database</td>
3753                                 <td>database</td>
3754 </tr>
3755 <tr>
3756                                 <td valign="top" class="dBug_arrayKey">never</td>
3757                                 <td>never</td>
3758 </tr>
3759 <tr>
3760                                 <td valign="top" class="dBug_arrayKey">Show debug reporting link</td>
3761                                 <td>Show debug reporting link</td>
3762 </tr>
3763 <tr>
3764                                 <td valign="top" class="dBug_arrayKey">Send feedback to project for bugs</td>
3765                                 <td>Send feedback to project for bugs</td>
3766 </tr>
3767 <tr>
3768                                 <td valign="top" class="dBug_arrayKey">Words which system was unable to translate will be enclosed in "> <" marks</td>
3769                                 <td>Words which system was unable to translate will be enclosed in "> <" marks</td>
3770 </tr>
3771 <tr>
3772                                 <td valign="top" class="dBug_arrayKey">Output URL handler</td>
3773                                 <td>Output URL handler</td>
3774 </tr>
3775 <tr>
3776                                 <td valign="top" class="dBug_arrayKey">What format would you like your output URLs, Seagull Search Engine Friendly is the default</td>
3777                                 <td>What format would you like your output URLs, Seagull Search Engine Friendly is the default</td>
3778 </tr>
3779 <tr>
3780                                 <td valign="top" class="dBug_arrayKey">The classic URL handler has not been implemented yet</td>
3781                                 <td>The classic URL handler has not been implemented yet</td>
3782 </tr>
3783 <tr>
3784                                 <td valign="top" class="dBug_arrayKey">Template Engine</td>
3785                                 <td>Template Engine</td>
3786 </tr>
3787 <tr>
3788                                 <td valign="top" class="dBug_arrayKey">Seagull allows you to use the template engine of your choice</td>
3789                                 <td>Seagull allows you to use the template engine of your choice</td>
3790 </tr>
3791 <tr>
3792                                 <td valign="top" class="dBug_arrayKey">The Smarty template hooks have not been implemented yet</td>
3793                                 <td>The Smarty template hooks have not been implemented yet</td>
3794 </tr>
3795 <tr>
3796                                 <td valign="top" class="dBug_arrayKey">This query is used to set the default character set for the current connection (MySQL 4.1 or higher). For example: SET NAMES utf8</td>
3797                                 <td>This query is used to set the default character set for the current connection (MySQL 4.1 or higher). For example: SET NAMES utf8</td>
3798 </tr>
3799 <tr>
3800                                 <td valign="top" class="dBug_arrayKey">Global Javascript Onload</td>
3801                                 <td>Global Javascript Onload</td>
3802 </tr>
3803 <tr>
3804                                 <td valign="top" class="dBug_arrayKey">globalJavascript</td>
3805                                 <td>If you want a Javascript onload expression called on every page of your site, put it here</td>
3806 </tr>
3807 <tr>
3808                                 <td valign="top" class="dBug_arrayKey">MTA options</td>
3809                                 <td>MTA options</td>
3810 </tr>
3811 <tr>
3812                                 <td valign="top" class="dBug_arrayKey">Backend</td>
3813                                 <td>Backend</td>
3814 </tr>
3815 <tr>
3816                                 <td valign="top" class="dBug_arrayKey">PEAR::Mail backend</td>
3817                                 <td>PEAR::Mail backend</td>
3818 </tr>
3819 <tr>
3820                                 <td valign="top" class="dBug_arrayKey">Sendmail path</td>
3821                                 <td>Sendmail path</td>
3822 </tr>
3823 <tr>
3824                                 <td valign="top" class="dBug_arrayKey">Mandatory if you use Sendmail as Backend</td>
3825                                 <td>Mandatory if you use 'Sendmail' as Backend</td>
3826 </tr>
3827 <tr>
3828                                 <td valign="top" class="dBug_arrayKey">Sendmail arguments</td>
3829                                 <td>Sendmail arguments</td>
3830 </tr>
3831 <tr>
3832                                 <td valign="top" class="dBug_arrayKey">Optional if you use Sendmail as Backend</td>
3833                                 <td>Optional if you use 'Sendmail' as Backend</td>
3834 </tr>
3835 <tr>
3836                                 <td valign="top" class="dBug_arrayKey">SMTP host</td>
3837                                 <td>SMTP host</td>
3838 </tr>
3839 <tr>
3840                                 <td valign="top" class="dBug_arrayKey">Optional if you use SMTP as Backend. Default: localhost</td>
3841                                 <td>Optional if you use 'SMTP' as Backend. Default: localhost</td>
3842 </tr>
3843 <tr>
3844                                 <td valign="top" class="dBug_arrayKey">SMTP port</td>
3845                                 <td>SMTP port</td>
3846 </tr>
3847 <tr>
3848                                 <td valign="top" class="dBug_arrayKey">Optional if you use SMTP as Backend. Default: 25</td>
3849                                 <td>Optional if you use 'SMTP' as Backend. Default: 25</td>
3850 </tr>
3851 <tr>
3852                                 <td valign="top" class="dBug_arrayKey">Use SMTP authentication</td>
3853                                 <td>Use SMTP authentication</td>
3854 </tr>
3855 <tr>
3856                                 <td valign="top" class="dBug_arrayKey">SMTP username</td>
3857                                 <td>SMTP username</td>
3858 </tr>
3859 <tr>
3860                                 <td valign="top" class="dBug_arrayKey">SMTP password</td>
3861                                 <td>SMTP password</td>
3862 </tr>
3863 <tr>
3864                                 <td valign="top" class="dBug_arrayKey">Mandatory if you use SMTP as Backend and SMTP authentication is enabled</td>
3865                                 <td>Mandatory if you use 'SMTP' as Backend and 'SMTP authentication' is enabled</td>
3866 </tr>
3867 <tr>
3868                                 <td valign="top" class="dBug_arrayKey">If users have cookies disabled, this will allow them to use sessions with Seagull</td>
3869                                 <td>If users have cookies disabled, this will allow them to use sessions with Seagull</td>
3870 </tr>
3871 <tr>
3872                                 <td valign="top" class="dBug_arrayKey">Allow Session in URL</td>
3873                                 <td>Allow Session in URL</td>
3874 </tr>
3875 <tr>
3876                                 <td valign="top" class="dBug_arrayKey">Check for Latest Version</td>
3877                                 <td>Check for Latest Version</td>
3878 </tr>
3879 <tr>
3880                                 <td valign="top" class="dBug_arrayKey">Check Now</td>
3881                                 <td>Check Now</td>
3882 </tr>
3883 <tr>
3884                                 <td valign="top" class="dBug_arrayKey">Your current version is up to date</td>
3885                                 <td>Your current version is up to date</td>
3886 </tr>
3887 <tr>
3888                                 <td valign="top" class="dBug_arrayKey">remote interface problem</td>
3889                                 <td>There was a problem querying the remote interface</td>
3890 </tr>
3891 <tr>
3892                                 <td valign="top" class="dBug_arrayKey">Maintenance</td>
3893                                 <td>Maintenance</td>
3894 </tr>
3895 <tr>
3896                                 <td valign="top" class="dBug_arrayKey">Maintenance Manager</td>
3897                                 <td>Maintenance Manager</td>
3898 </tr>
3899 <tr>
3900                                 <td valign="top" class="dBug_arrayKey">Back to Maintenance</td>
3901                                 <td>Back to Maintenance</td>
3902 </tr>
3903 <tr>
3904                                 <td valign="top" class="dBug_arrayKey">Congratulations, the target translation appears to be up to date</td>
3905                                 <td>Congratulations, the target translation appears to be up to date</td>
3906 </tr>
3907 <tr>
3908                                 <td valign="top" class="dBug_arrayKey">translation successfully updated</td>
3909                                 <td>translation successfully updated</td>
3910 </tr>
3911 <tr>
3912                                 <td valign="top" class="dBug_arrayKey">There was a problem updating the translation</td>
3913                                 <td>There was a problem updating the translation</td>
3914 </tr>
3915 <tr>
3916                                 <td valign="top" class="dBug_arrayKey">Data Objects rebuilt successfully</td>
3917                                 <td>Data Objects rebuilt successfully</td>
3918 </tr>
3919 <tr>
3920                                 <td valign="top" class="dBug_arrayKey">Cache files successfully deleted</td>
3921                                 <td>Cache files successfully deleted</td>
3922 </tr>
3923 <tr>
3924                                 <td valign="top" class="dBug_arrayKey">Manage Translations</td>
3925                                 <td>Manage Translations</td>
3926 </tr>
3927 <tr>
3928                                 <td valign="top" class="dBug_arrayKey">Check all modules for</td>
3929                                 <td>Check all modules for</td>
3930 </tr>
3931 <tr>
3932                                 <td valign="top" class="dBug_arrayKey">check all modules</td>
3933                                 <td>check all modules</td>
3934 </tr>
3935 <tr>
3936                                 <td valign="top" class="dBug_arrayKey">update</td>
3937                                 <td>update</td>
3938 </tr>
3939 <tr>
3940                                 <td valign="top" class="dBug_arrayKey">Module Name</td>
3941                                 <td>Module Name</td>
3942 </tr>
3943 <tr>
3944                                 <td valign="top" class="dBug_arrayKey">ok</td>
3945                                 <td>ok</td>
3946 </tr>
3947 <tr>
3948                                 <td valign="top" class="dBug_arrayKey">no file</td>
3949                                 <td>no file</td>
3950 </tr>
3951 <tr>
3952                                 <td valign="top" class="dBug_arrayKey">new strings</td>
3953                                 <td>new strings</td>
3954 </tr>
3955 <tr>
3956                                 <td valign="top" class="dBug_arrayKey">old strings</td>
3957                                 <td>old strings</td>
3958 </tr>
3959 <tr>
3960                                 <td valign="top" class="dBug_arrayKey">File not writeable</td>
3961                                 <td>File not writeable</td>
3962 </tr>
3963 <tr>
3964                                 <td valign="top" class="dBug_arrayKey">Sequences rebuilt successfully</td>
3965                                 <td>Sequences rebuilt successfully</td>
3966 </tr>
3967 <tr>
3968                                 <td valign="top" class="dBug_arrayKey">Rebuild DB Sequences</td>
3969                                 <td>Rebuild DB Sequences</td>
3970 </tr>
3971 <tr>
3972                                 <td valign="top" class="dBug_arrayKey">Rebuild Sequences Now</td>
3973                                 <td>Rebuild Sequences Now</td>
3974 </tr>
3975 <tr>
3976                                 <td valign="top" class="dBug_arrayKey">validate</td>
3977                                 <td>validate</td>
3978 </tr>
3979 <tr>
3980                                 <td valign="top" class="dBug_arrayKey">Process</td>
3981                                 <td>Process</td>
3982 </tr>
3983 <tr>
3984                                 <td valign="top" class="dBug_arrayKey">Manage Caches</td>
3985                                 <td>Manage Caches</td>
3986 </tr>
3987 <tr>
3988                                 <td valign="top" class="dBug_arrayKey">Templates</td>
3989                                 <td>Templates</td>
3990 </tr>
3991 <tr>
3992                                 <td valign="top" class="dBug_arrayKey">navigation</td>
3993                                 <td>navigation</td>
3994 </tr>
3995 <tr>
3996                                 <td valign="top" class="dBug_arrayKey">blocks</td>
3997                                 <td>blocks</td>
3998 </tr>
3999 <tr>
4000                                 <td valign="top" class="dBug_arrayKey">categories</td>
4001                                 <td>categories</td>
4002 </tr>
4003 <tr>
4004                                 <td valign="top" class="dBug_arrayKey">permissions</td>
4005                                 <td>permissions</td>
4006 </tr>
4007 <tr>
4008                                 <td valign="top" class="dBug_arrayKey">Clear Selected Caches Now</td>
4009                                 <td>Clear Selected Caches Now</td>
4010 </tr>
4011 <tr>
4012                                 <td valign="top" class="dBug_arrayKey">Rebuild Data Objects</td>
4013                                 <td>Rebuild Data Objects</td>
4014 </tr>
4015 <tr>
4016                                 <td valign="top" class="dBug_arrayKey">Rebuild Dataobjects Now</td>
4017                                 <td>Rebuild Dataobjects Now</td>
4018 </tr>
4019 <tr>
4020                                 <td valign="top" class="dBug_arrayKey">You are editing: Module</td>
4021                                 <td>You're editing: Module</td>
4022 </tr>
4023 <tr>
4024                                 <td valign="top" class="dBug_arrayKey">You are updating: Module</td>
4025                                 <td>You are updating: Module</td>
4026 </tr>
4027 <tr>
4028                                 <td valign="top" class="dBug_arrayKey">Master Value</td>
4029                                 <td>Master Value</td>
4030 </tr>
4031 <tr>
4032                                 <td valign="top" class="dBug_arrayKey">Translated Value</td>
4033                                 <td>Translated Value</td>
4034 </tr>
4035 <tr>
4036                                 <td valign="top" class="dBug_arrayKey">Save Translation</td>
4037                                 <td>Save Translation</td>
4038 </tr>
4039 <tr>
4040                                 <td valign="top" class="dBug_arrayKey">Create a module</td>
4041                                 <td>Create a module</td>
4042 </tr>
4043 <tr>
4044                                 <td valign="top" class="dBug_arrayKey">Manager Name</td>
4045                                 <td>Manager Name</td>
4046 </tr>
4047 <tr>
4048                                 <td valign="top" class="dBug_arrayKey">Create Templates</td>
4049                                 <td>Create Templates</td>
4050 </tr>
4051 <tr>
4052                                 <td valign="top" class="dBug_arrayKey">Create ini file</td>
4053                                 <td>Create ini file</td>
4054 </tr>
4055 <tr>
4056                                 <td valign="top" class="dBug_arrayKey">Create language files</td>
4057                                 <td>Create language files</td>
4058 </tr>
4059 <tr>
4060                                 <td valign="top" class="dBug_arrayKey">Create Module Now</td>
4061                                 <td>Create Module Now</td>
4062 </tr>
4063 <tr>
4064                                 <td valign="top" class="dBug_arrayKey">Module files successfully created</td>
4065                                 <td>Module files successfully created</td>
4066 </tr>
4067 <tr>
4068                                 <td valign="top" class="dBug_arrayKey">The source translation has</td>
4069                                 <td>The source translation has</td>
4070 </tr>
4071 <tr>
4072                                 <td valign="top" class="dBug_arrayKey">elements</td>
4073                                 <td>elements</td>
4074 </tr>
4075 <tr>
4076                                 <td valign="top" class="dBug_arrayKey">The target translation has</td>
4077                                 <td>The target translation has</td>
4078 </tr>
4079 <tr>
4080                                 <td valign="top" class="dBug_arrayKey">Please add</td>
4081                                 <td>Please add</td>
4082 </tr>
4083 <tr>
4084                                 <td valign="top" class="dBug_arrayKey">values for the following keys which appear to be missing from the</td>
4085                                 <td>values for the following keys which appear to be missing from the</td>
4086 </tr>
4087 <tr>
4088                                 <td valign="top" class="dBug_arrayKey">module</td>
4089                                 <td>module</td>
4090 </tr>
4091 <tr>
4092                                 <td valign="top" class="dBug_arrayKey">please specify an option</td>
4093                                 <td>please specify an option</td>
4094 </tr>
4095 <tr>
4096                                 <td valign="top" class="dBug_arrayKey">please check at least one box</td>
4097                                 <td>please check at least one box</td>
4098 </tr>
4099 <tr>
4100                                 <td valign="top" class="dBug_arrayKey">please enter module name</td>
4101                                 <td>please enter module name</td>
4102 </tr>
4103 <tr>
4104                                 <td valign="top" class="dBug_arrayKey">please enter manager name</td>
4105                                 <td>please enter manager name</td>
4106 </tr>
4107 <tr>
4108                                 <td valign="top" class="dBug_arrayKey">module already exists. Please choose another module name</td>
4109                                 <td>module already exists. Please choose another module name</td>
4110 </tr>
4111 <tr>
4112                                 <td valign="top" class="dBug_arrayKey">Extended locale support</td>
4113                                 <td>Extended locale support</td>
4114 </tr>
4115 <tr>
4116                                 <td valign="top" class="dBug_arrayKey">locale support info</td>
4117                                 <td>Enabling this feature gives you access to the extensive I18Nv2 API but at the expense of performance</td>
4118 </tr>
4119 <tr>
4120                                 <td valign="top" class="dBug_arrayKey">Locale category</td>
4121                                 <td>Locale category</td>
4122 </tr>
4123 <tr>
4124                                 <td valign="top" class="dBug_arrayKey">Paths</td>
4125                                 <td>Paths</td>
4126 </tr>
4127 <tr>
4128                                 <td valign="top" class="dBug_arrayKey">Install Root</td>
4129                                 <td>Install Root</td>
4130 </tr>
4131 <tr>
4132                                 <td valign="top" class="dBug_arrayKey">Web Root</td>
4133                                 <td>Web Root</td>
4134 </tr>
4135 <tr>
4136                                 <td valign="top" class="dBug_arrayKey">With selected record(s)</td>
4137                                 <td>With selected record(s)</td>
4138 </tr>
4139 <tr>
4140                                 <td valign="top" class="dBug_arrayKey">config options</td>
4141                                 <td>Config Options</td>
4142 </tr>
4143 <tr>
4144                                 <td valign="top" class="dBug_arrayKey">action</td>
4145                                 <td>Action</td>
4146 </tr>
4147 <tr>
4148                                 <td valign="top" class="dBug_arrayKey">preferences</td>
4149                                 <td>preferences</td>
4150 </tr>
4151 <tr>
4152                                 <td valign="top" class="dBug_arrayKey">Section ID</td>
4153                                 <td>Section ID</td>
4154 </tr>
4155 <tr>
4156                                 <td valign="top" class="dBug_arrayKey">Manager</td>
4157                                 <td>Manager</td>
4158 </tr>
4159 <tr>
4160                                 <td valign="top" class="dBug_arrayKey">None</td>
4161                                 <td>None</td>
4162 </tr>
4163 <tr>
4164                                 <td valign="top" class="dBug_arrayKey">Please supply full nav info</td>
4165                                 <td>Please supply full nav info</td>
4166 </tr>
4167 <tr>
4168                                 <td valign="top" class="dBug_arrayKey">Add module</td>
4169                                 <td>Add module</td>
4170 </tr>
4171 <tr>
4172                                 <td valign="top" class="dBug_arrayKey">New section</td>
4173                                 <td>New section</td>
4174 </tr>
4175 <tr>
4176                                 <td valign="top" class="dBug_arrayKey">manage</td>
4177                                 <td>Manage</td>
4178 </tr>
4179 <tr>
4180                                 <td valign="top" class="dBug_arrayKey">BodyHtml</td>
4181                                 <td>Body</td>
4182 </tr>
4183 <tr>
4184                                 <td valign="top" class="dBug_arrayKey">Translation options</td>
4185                                 <td>Translation options</td>
4186 </tr>
4187 <tr>
4188                                 <td valign="top" class="dBug_arrayKey">Container</td>
4189                                 <td>Container</td>
4190 </tr>
4191 <tr>
4192                                 <td valign="top" class="dBug_arrayKey">Fallback Language</td>
4193                                 <td>Fallback Language</td>
4194 </tr>
4195 <tr>
4196                                 <td valign="top" class="dBug_arrayKey">Add Missing Translations</td>
4197                                 <td>Add Missing Translations</td>
4198 </tr>
4199 <tr>
4200                                 <td valign="top" class="dBug_arrayKey">General</td>
4201                                 <td>General</td>
4202 </tr>
4203 <tr>
4204                                 <td valign="top" class="dBug_arrayKey">Navigation</td>
4205                                 <td>Navigation</td>
4206 </tr>
4207 <tr>
4208                                 <td valign="top" class="dBug_arrayKey">Debug</td>
4209                                 <td>Debug</td>
4210 </tr>
4211 <tr>
4212                                 <td valign="top" class="dBug_arrayKey">Caching</td>
4213                                 <td>Caching</td>
4214 </tr>
4215 <tr>
4216                                 <td valign="top" class="dBug_arrayKey">DB</td>
4217                                 <td>DB</td>
4218 </tr>
4219 <tr>
4220                                 <td valign="top" class="dBug_arrayKey">Logs</td>
4221                                 <td>Logs</td>
4222 </tr>
4223 <tr>
4224                                 <td valign="top" class="dBug_arrayKey">MTA</td>
4225                                 <td>MTA</td>
4226 </tr>
4227 <tr>
4228                                 <td valign="top" class="dBug_arrayKey">Popup</td>
4229                                 <td>Popup</td>
4230 </tr>
4231 <tr>
4232                                 <td valign="top" class="dBug_arrayKey">Translation</td>
4233                                 <td>Translation</td>
4234 </tr>
4235 <tr>
4236                                 <td valign="top" class="dBug_arrayKey">Cookie</td>
4237                                 <td>Cookie</td>
4238 </tr>
4239 <tr>
4240                                 <td valign="top" class="dBug_arrayKey">P3P</td>
4241                                 <td>P3P</td>
4242 </tr>
4243 <tr>
4244                                 <td valign="top" class="dBug_arrayKey">Admin GUI Feature</td>
4245                                 <td>Admin GUI Feature</td>
4246 </tr>
4247 <tr>
4248                                 <td valign="top" class="dBug_arrayKey">allow backend to display in separate GUI</td>
4249                                 <td>allow backend to display in separate GUI</td>
4250 </tr>
4251 <tr>
4252                                 <td valign="top" class="dBug_arrayKey">Configuration</td>
4253                                 <td>Configuration</td>
4254 </tr>
4255 <tr>
4256                                 <td valign="top" class="dBug_arrayKey">Sort by</td>
4257                                 <td>Sort by</td>
4258 </tr>
4259 <tr>
4260                                 <td valign="top" class="dBug_arrayKey">Publishing</td>
4261                                 <td>Publishing</td>
4262 </tr>
4263 <tr>
4264                                 <td valign="top" class="dBug_arrayKey">Admin GUI theme</td>
4265                                 <td>Admin GUI theme</td>
4266 </tr>
4267 <tr>
4268                                 <td valign="top" class="dBug_arrayKey">before</td>
4269                                 <td>before</td>
4270 </tr>
4271 <tr>
4272                                 <td valign="top" class="dBug_arrayKey">after</td>
4273                                 <td>after</td>
4274 </tr>
4275 <tr>
4276                                 <td valign="top" class="dBug_arrayKey">is</td>
4277                                 <td>is</td>
4278 </tr>
4279 <tr>
4280                                 <td valign="top" class="dBug_arrayKey">between</td>
4281                                 <td>between</td>
4282 </tr>
4283 <tr>
4284                                 <td valign="top" class="dBug_arrayKey">active</td>
4285                                 <td>active</td>
4286 </tr>
4287 <tr>
4288                                 <td valign="top" class="dBug_arrayKey">inactive</td>
4289                                 <td>inactive</td>
4290 </tr>
4291 <tr>
4292                                 <td valign="top" class="dBug_arrayKey">page</td>
4293                                 <td>page</td>
4294 </tr>
4295 <tr>
4296                                 <td valign="top" class="dBug_arrayKey">Session</td>
4297                                 <td>Session</td>
4298 </tr>
4299 <tr>
4300                                 <td valign="top" class="dBug_arrayKey">top</td>
4301                                 <td>top</td>
4302 </tr>
4303 <tr>
4304                                 <td valign="top" class="dBug_arrayKey">check all</td>
4305                                 <td>check all</td>
4306 </tr>
4307 <tr>
4308                                 <td valign="top" class="dBug_arrayKey">uncheck all</td>
4309                                 <td>uncheck all</td>
4310 </tr>
4311 <tr>
4312                                 <td valign="top" class="dBug_arrayKey">Add following methods</td>
4313                                 <td>Add following methods</td>
4314 </tr>
4315 <tr>
4316                                 <td valign="top" class="dBug_arrayKey">Editing options</td>
4317                                 <td>Editing options</td>
4318 </tr>
4319 <tr>
4320                                 <td valign="top" class="dBug_arrayKey">Publish</td>
4321                                 <td>Publish</td>
4322 </tr>
4323 <tr>
4324                                 <td valign="top" class="dBug_arrayKey">user profile</td>
4325                                 <td>user profile</td>
4326 </tr>
4327 <tr>
4328                                 <td valign="top" class="dBug_arrayKey">PEAR Manager</td>
4329                                 <td>PEAR Manager</td>
4330 </tr>
4331 <tr>
4332                                 <td valign="top" class="dBug_arrayKey">Choose channel</td>
4333                                 <td>Choose channel</td>
4334 </tr>
4335 <tr>
4336                                 <td valign="top" class="dBug_arrayKey">List installed packages</td>
4337                                 <td>List installed packages</td>
4338 </tr>
4339 <tr>
4340                                 <td valign="top" class="dBug_arrayKey">List remote packages</td>
4341                                 <td>List remote packages</td>
4342 </tr>
4343 <tr>
4344                                 <td valign="top" class="dBug_arrayKey">Search package</td>
4345                                 <td>Search package</td>
4346 </tr>
4347 <tr>
4348                                 <td valign="top" class="dBug_arrayKey">Pear Manager Notice</td>
4349                                 <td>Calling the full list of PEAR packages the first time can take a while as some 300+ packages get transferred via REST/XML-RPC - so please be patient, allow 30 seconds for a 512 kbps line.</td>
4350 </tr>
4351 <tr>
4352                                 <td valign="top" class="dBug_arrayKey">Package Name</td>
4353                                 <td>Package Name</td>
4354 </tr>
4355 <tr>
4356                                 <td valign="top" class="dBug_arrayKey">Local</td>
4357                                 <td>Local</td>
4358 </tr>
4359 <tr>
4360                                 <td valign="top" class="dBug_arrayKey">Latest</td>
4361                                 <td>Latest</td>
4362 </tr>
4363 <tr>
4364                                 <td valign="top" class="dBug_arrayKey">Install</td>
4365                                 <td>Install</td>
4366 </tr>
4367 <tr>
4368                                 <td valign="top" class="dBug_arrayKey">Uninstall</td>
4369                                 <td>Uninstall</td>
4370 </tr>
4371 <tr>
4372                                 <td valign="top" class="dBug_arrayKey">Translation Maintenance</td>
4373                                 <td>Translation Maintenance</td>
4374 </tr>
4375 <tr>
4376                                 <td valign="top" class="dBug_arrayKey">Coming Soon - The ability to switch between translation storage containers.</td>
4377                                 <td>Coming Soon - The ability to switch between translation storage containers.</td>
4378 </tr>
4379 <tr>
4380                                 <td valign="top" class="dBug_arrayKey">Language to use when the current language does not have a translation.</td>
4381                                 <td>Language to use when the current language does not have a translation.</td>
4382 </tr>
4383 <tr>
4384                                 <td valign="top" class="dBug_arrayKey">Add missing translations to the database.</td>
4385                                 <td>EXPERIMENTAL - Add missing translations to the database.</td>
4386 </tr>
4387 <tr>
4388                                 <td valign="top" class="dBug_arrayKey">the target lang file</td>
4389                                 <td>The Target Language file</td>
4390 </tr>
4391 <tr>
4392                                 <td valign="top" class="dBug_arrayKey">is not writeable.</td>
4393                                 <td>is not writeable.</td>
4394 </tr>
4395 <tr>
4396                                 <td valign="top" class="dBug_arrayKey">does not exist.</td>
4397                                 <td>does not exist.</td>
4398 </tr>
4399 <tr>
4400                                 <td valign="top" class="dBug_arrayKey">Please change file permissions before editing.</td>
4401                                 <td>Please change file permissions before editing.</td>
4402 </tr>
4403 <tr>
4404                                 <td valign="top" class="dBug_arrayKey">Please create it.</td>
4405                                 <td>Please create it.</td>
4406 </tr>
4407 <tr>
4408                                 <td valign="top" class="dBug_arrayKey">Default theme</td>
4409                                 <td>Default theme</td>
4410 </tr>
4411 <tr>
4412                                 <td valign="top" class="dBug_arrayKey">Additional Include Path</td>
4413                                 <td>Additional Include Path</td>
4414 </tr>
4415 <tr>
4416                                 <td valign="top" class="dBug_arrayKey">Custom filter chain</td>
4417                                 <td>Custom filter chain</td>
4418 </tr>
4419 <tr>
4420                                 <td valign="top" class="dBug_arrayKey">Create CRUD actions</td>
4421                                 <td>Create CRUD Actions</td>
4422 </tr>
4423 <tr>
4424                                 <td valign="top" class="dBug_arrayKey">Broadcast message</td>
4425                                 <td>Broadcast message</td>
4426 </tr>
4427 <tr>
4428                                 <td valign="top" class="dBug_arrayKey">Rebuild Seagull</td>
4429                                 <td>Rebuild Seagull</td>
4430 </tr>
4431 <tr>
4432                                 <td valign="top" class="dBug_arrayKey">Module Manager :: Discovered</td>
4433                                 <td>Module Manager :: Discovered</td>
4434 </tr>
4435 <tr>
4436                                 <td valign="top" class="dBug_arrayKey">Register this module?</td>
4437                                 <td>Register this module?</td>
4438 </tr>
4439 <tr>
4440                                 <td valign="top" class="dBug_arrayKey">DataObject debug level</td>
4441                                 <td>DataObject debug level</td>
4442 </tr>
4443 <tr>
4444                                 <td valign="top" class="dBug_arrayKey">Please choose a simple, single word</td>
4445                                 <td>Please choose a simple, single word for your module name, it will be used in URIs.</td>
4446 </tr>
4447 <tr>
4448                                 <td valign="top" class="dBug_arrayKey">Please give the webserver write permissions to the modules directory</td>
4449                                 <td>Please give the webserver write permissions to the modules directory</td>
4450 </tr>
4451 <tr>
4452                                 <td valign="top" class="dBug_arrayKey">The manager, which can be</td>
4453                                 <td>The manager, which can be one of several per module, is the controller object, so if you want it to deliver pizzas call it PizzaMgr.</td>
4454 </tr>
4455 <tr>
4456                                 <td valign="top" class="dBug_arrayKey">Module Directory Override</td>
4457                                 <td>Module Directory Override</td>
4458 </tr>
4459 <tr>
4460                                 <td valign="top" class="dBug_arrayKey">Upload Directory Override</td>
4461                                 <td>Upload Directory Override</td>
4462 </tr>
4463 <tr>
4464                                 <td valign="top" class="dBug_arrayKey">Submit login</td>
4465                                 <td>Submit login</td>
4466 </tr>
4467 <tr>
4468                                 <td valign="top" class="dBug_arrayKey">select all</td>
4469                                 <td>select all</td>
4470 </tr>
4471 <tr>
4472                                 <td valign="top" class="dBug_arrayKey">templates</td>
4473                                 <td>templates</td>
4474 </tr>
4475 <tr>
4476                                 <td valign="top" class="dBug_arrayKey">translations</td>
4477                                 <td>translations</td>
4478 </tr>
4479 <tr>
4480                                 <td valign="top" class="dBug_arrayKey">Enter Captcha</td>
4481                                 <td>Please enter the number shown below in the relevant field</td>
4482 </tr>
4483 <tr>
4484                                 <td valign="top" class="dBug_arrayKey">You must enter the number in this field</td>
4485                                 <td>You must enter the number in this field</td>
4486 </tr>
4487 <tr>
4488                                 <td valign="top" class="dBug_arrayKey">altPrev</td>
4489                                 <td>Previous</td>
4490 </tr>
4491 <tr>
4492                                 <td valign="top" class="dBug_arrayKey">altNext</td>
4493                                 <td>Next</td>
4494 </tr>
4495 <tr>
4496                                 <td valign="top" class="dBug_arrayKey">altPage</td>
4497                                 <td>Page</td>
4498 </tr>
4499 <tr>
4500                                 <td valign="top" class="dBug_arrayKey">prevImg</td>
4501                                 <td>&laquo; previous</td>
4502 </tr>
4503 <tr>
4504                                 <td valign="top" class="dBug_arrayKey">nextImg</td>
4505                                 <td>next &raquo;</td>
4506 </tr>
4507 </table></td>
4508 </tr>
4509 <tr>
4510                                 <td valign="top" class="dBug_arrayKey">CHARSET</td>
4511                                 <td>iso-8859-15</td>
4512 </tr>
4513 </table></body></html>
4514