1 dump('entering util/deck.js\n');
3 if (typeof util == 'undefined') util = {};
4 util.deck = function (id) {
6 this.node = document.getElementById(id);
8 JSAN.use('util.error'); this.error = new util.error();
11 var error = 'util.deck: Could not find element ' + id;
12 this.error.sdump('D_ERROR',error);
15 if (this.node.nodeName != 'deck') {
16 var error = 'util.deck: ' + id + 'is not a deck';
17 this.error.sdump('D_ERROR',error);
24 util.deck.prototype = {
26 'find_index' : function (url) {
28 var nodes = this.node.childNodes;
29 for (var i = 0; i < nodes.length; i++) {
30 if (nodes[i].getAttribute('src') == url) idx = i;
35 'set_iframe' : function (url,params,content_params) {
36 var idx = this.find_index(url);
38 this.node.selectedIndex = idx;
40 this.new_iframe(url,params,content_params);
46 'reset_iframe' : function (url,params,content_params) {
47 this.remove_iframe(url);
48 this.new_iframe(url,params,content_params);
51 'new_iframe' : function (url,params,content_params) {
52 var idx = this.find_index(url);
53 if (idx>-1) throw('An iframe already exists in deck with url = ' + url);
55 var iframe = document.createElement('iframe');
56 iframe.setAttribute('src',url);
57 iframe.setAttribute('flex','1');
58 this.node.appendChild( iframe );
59 this.node.selectedIndex = this.node.childNodes.length - 1;
62 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
63 this.error.sdump('D_DECK', 'frame.contentWindow = ' + iframe.contentWindow + '\n');
64 iframe.contentWindow.IAMXUL = true;
65 iframe.contentWindow.xulG = content_params;
67 dump('E: ' + E + '\n');
72 'remove_iframe' : function (url) {
73 var idx = this.find_index(url);
75 this.node.removeChild( this.node.childNodes[ idx ] );
80 dump('exiting util/deck.js\n');