summaryrefslogtreecommitdiff
path: root/slides/browser/xbCollapsibleLists.js
diff options
context:
space:
mode:
Diffstat (limited to 'slides/browser/xbCollapsibleLists.js')
-rw-r--r--slides/browser/xbCollapsibleLists.js537
1 files changed, 0 insertions, 537 deletions
diff --git a/slides/browser/xbCollapsibleLists.js b/slides/browser/xbCollapsibleLists.js
deleted file mode 100644
index 6a4f93c..0000000
--- a/slides/browser/xbCollapsibleLists.js
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
-xbCollapsibleLists.js 2001-02-26
-
-Contributor(s): Michael Bostock, Netscape Communications, Copyright 1997
- Bob Clary, Netscape Communications, Copyright 2001
- Seth Dillingham, Macrobyte Resources, Copyright 2001
- Mark Filanowicz, Amdahl IT Services, Copyright 2002
-
-Netscape grants you a royalty free license to use, modify or
-distribute this software provided that this copyright notice
-appears on all copies. This software is provided "AS IS,"
-without a warranty of any kind.
-
-See xbCollapsibleLists.js.changelog.html for details of changes.
-*/
-
-
-var xbcl__id = 0;
-var xbcl_item_id = 0;
-var xbcl_mLists = new Array();
-var xbcl_parentElement = null;
-
-document.lists = xbcl_mLists;
-
-function List(visible, width, height, bgColor, collapsedImageURL, expandedImageURL)
-{
- this.lists = new Array(); // sublists
- this.items = new Array(); // layers
- this.types = new Array(); // type
- this.strs = new Array(); // content
- this.visible = visible;
- this.id = xbcl__id;
- this.width = width || 350;
- this.height = height || 22;
-
- this.collapsedImageURL = collapsedImageURL || 'false.gif';
- this.expandedImageURL = expandedImageURL || 'true.gif';
-
- if (bgColor)
- this.bgColor = bgColor;
-
- xbcl_mLists[xbcl__id++] = this;
-}
-
-function xbcl_SetFont(i,j)
-{
- this.fontIntro = i;
- this.fontOutro = j;
-}
-
-function xbcl_GetFont()
-{
- return [this.fontIntro, this.fontOutro];
-}
-
-function xbcl_setIndent(indent)
-{
- this.i = indent;
- if (this.i < 0)
- {
- this.i = 0;
- this.space = false;
- }
- else
- this.space = true;
-}
-
-function xbcl_getIndent(indent)
-{
- return this.i;
-}
-
-function xbcl_writeItemDOMHTML( obj, s, flList, listObj )
-{
- var styleObj;
- var outerDiv, innerLeft, innerRight;
- var str;
- var leftEdge = 0;
-
- styleObj = new xbStyle(obj);
- styleObj.setVisibility('hidden');
- outerDiv = document.createElement( "DIV" );
- outerDiv.id = "DIV_" + obj.id;
- styleObj = new xbStyle( outerDiv );
- styleObj.setWidth( this.width );
-
- if ( flList )
- {
- innerLeft = document.createElement( "DIV" );
- innerLeft.style.position = "absolute";
- innerLeft.style.valign = "middle";
- leftEdge = 15;
-
- styleObj = new xbStyle( innerLeft );
- styleObj.setWidth( 15 );
- styleObj.setBackgroundColor( "transparent" );
-
- if ( listObj.visible )
- str = '<A TARGET="_self" HREF="javascript:xbcl_expand(' + listObj.id + ');"><IMG BORDER="0" SRC="' + this.expandedImageURL + '" ID="_img' + listObj.id + '" NAME="_img' + listObj.id + '"></A>';
- else
- str = '<A TARGET="_self" HREF="javascript:xbcl_expand(' + listObj.id + ');"><IMG BORDER="0" SRC="' + this.collapsedImageURL + '" ID="_img' + listObj.id + '" NAME="_img' + listObj.id + '"></A>';
-
- innerLeft.innerHTML = str;
- outerDiv.appendChild( innerLeft );
- }
- else if ( this.space )
- leftEdge = 15;
-
- innerRight = document.createElement( "DIV" );
- innerRight.noWrap = true;
- innerRight.style.position = "absolute";
-
- styleObj = new xbStyle( innerRight );
- styleObj.setLeft( leftEdge + ( this.l * this.i ) );
- styleObj.setWidth( this.width - 15 - this.l * this.i );
- styleObj.setBackgroundColor( "transparent" );
-
- // start of change by Mark Filanowicz 02-22-2002
- if ( flList )
- {
- s = this.fontIntro + '<A TARGET="_self" STYLE="text-decoration: none;" HREF="javascript:xbcl_expand(' + listObj.id + ');">' + s + this.fontOutro;
- }
- else
- {
- s = this.fontIntro + s + this.fontOutro;
- }
- // end of change by Mark Filanowicz 02-22-2002
-
-
- innerRight.innerHTML = s;
- outerDiv.appendChild( innerRight );
-
- obj.appendChild( outerDiv );
-
- return;
-}
-
-function xbcl_writeItem( obj, s, flList, listObj )
-{
- var cellStyle = '';
- var str = '';
- var styleObj = new xbStyle( obj );
-
- styleObj.setVisibility( 'hidden' );
-
- if ( document.body && document.body.style )
- cellStyle = ' style="background-color: transparent;"';
-
- str += '<TABLE WIDTH='+this.width+' NOWRAP BORDER="0" CELLPADDING="0" CELLSPACING="0"><TR>';
-
- if ( flList )
- {
- str += '<TD WIDTH="15" NOWRAP VALIGN="MIDDLE"' + cellStyle + '>';
- str += '<A TARGET="_self" HREF="javascript:xbcl_expand(' + listObj.id + ');">';
-
- if ( listObj.visible )
- str += '<IMG BORDER="0" SRC="' + this.expandedImageURL + '" ID="_img' + listObj.id + '" NAME="_img' + listObj.id + '">';
- else
- str += '<IMG BORDER="0" SRC="' + this.collapsedImageURL + '" ID="_img' + listObj.id + '" NAME="_img' + listObj.id + '">';
-
- str += '</A></TD>';
- }
- else if (this.space)
- str += '<TD WIDTH="15" NOWRAP' + cellStyle + '>&nbsp;</TD>';
-
- if (this.l>0 && this.i>0)
- str += '<TD WIDTH="' + this.l*this.i+ '" NOWRAP' + cellStyle + '>&nbsp;</TD>';
-
- str += '<TD HEIGHT="' + ( this.height - 3) + '" WIDTH="' + ( this.width - 15 - this.l * this.i ) + '" VALIGN="MIDDLE" ALIGN="LEFT"' + cellStyle + '>';
-
- // start of change by Mark Filanowicz 02-22-2002
- if ( flList )
- {
- str += this.fontIntro + '<A TARGET="_self" STYLE="text-decoration: none;" HREF="javascript:xbcl_expand(' + listObj.id + ');">' + s + this.fontOutro;
- }
- else
- {
- str += this.fontIntro + s + this.fontOutro;
- }
- // end of change by Mark Filanowicz 02-22-2002
-
- str += '</TD></TR></TABLE>';
-
- styleObj.setInnerHTML( str );
-
- return;
-}
-
-function xbcl_writeList()
-{
- var item;
- var i;
- var flList;
-
- for ( i = 0; i < this.types.length; i++ )
- {
- item = this.items[ i ];
- flList = ( this.types[ i ] == 'list' );
-
- this._writeItem( item, this.strs[ i ], flList, this.lists[ i ] );
-
- if ( flList && this.lists[ i ].visible )
- this.lists[ i ]._writeList();
- }
-
- this.built = true;
- this.needsRewrite = false;
- self.status = '';
-}
-
-function xbcl_showList()
-{
- var item;
- var styleObj;
- var i;
-
- for (i = 0; i < this.types.length; i++)
- {
- item = this.items[i];
- styleObj = new xbStyle(item);
- styleObj.setClipLeft(0);
- styleObj.setClipRight(this.width);
- styleObj.setClipTop(0);
- if (item.height)
- {
- styleObj.setClipBottom(item.height);
- styleObj.setHeight(item.height);
- }
- else
- {
- styleObj.setClipBottom(this.height);
- styleObj.setHeight(this.height);
- }
-
- if ( this.visible )
- styleObj.setVisibility( 'visible' );
-
- var bg = item.oBgColor || this.bgColor;
- if ((bg == null) || (bg == 'null'))
- bg = '';
-
- styleObj.setBackgroundColor(bg);
-
- if (this.types[i] == 'list' && this.lists[i].visible)
- this.lists[i]._showList();
- }
- this.shown = true;
- this.needsUpdate = false;
-}
-
-function xbcl_setImage(list, item, file)
-{
- var id = '_img' + list.id;
- var img = null;
-
- // for DOMHTML or IE4 use cross browser getElementById from xbStyle
- // can't use it for NN4 since it only works for layers in NN4
- if (document.layers)
- img = item.document.images[0];
- else
- img = xbGetElementById(id);
-
- if (img)
- img.src = file;
-}
-
-function xbcl_getHeight()
-{
- var totalHeight = 0;
- var i;
-
- if (!this.visible)
- return 0;
-
- for (i = 0; i < this.types.length; i++)
- {
- if (this.items[i].height)
- totalHeight += this.items[i].height;
- else
- totalHeight += this.height;
-
- if ((this.types[i] == 'list') && this.lists[i].visible)
- {
- totalHeight += this.lists[i].getHeight();
- }
- }
-
- return totalHeight;
-}
-
-function xbcl_updateList(pVis, x, y)
-{
- var currTop = y;
- var item;
- var styleObj;
- var i;
-
- for (i = 0; i < this.types.length; i++)
- {
- item = this.items[i];
- styleObj = new xbStyle(item);
-
- if (this.visible && pVis)
- {
- styleObj.moveTo(x, currTop);
- if (item.height) // allow custom heights for each item
- currTop += item.height;
- else
- currTop += this.height;
-
- styleObj.setVisibility('visible');
- }
- else
- {
- styleObj.setVisibility('hidden');
- }
-
- if (this.types[i] == 'list')
- {
- if (this.lists[i].visible)
- {
- if (!this.lists[i].built || this.lists[i].needsRewrite)
- this.lists[i]._writeList();
-
- if (!this.lists[i].shown || this.lists[i].needsUpdate)
- this.lists[i]._showList();
-
- xbcl_setImage(this.lists[i], item, this.expandedImageURL );
- }
- else
- xbcl_setImage(this.lists[i], item, this.collapsedImageURL );
-
- if (this.lists[i].built)
- currTop = this.lists[i]._updateList(this.visible && pVis, x, currTop);
- }
- }
- return currTop;
-}
-
-function xbcl_updateParent( pid, l )
-{
- var i;
-
- if ( !l )
- l = 0;
-
- this.pid = pid;
- this.l = l;
-
- for ( i = 0; i < this.types.length; i++ )
- {
- if ( this.types[ i ] == 'list' )
- {
- this.lists[ i ]._updateParent( pid, l + 1 );
- }
- }
-}
-
-function xbcl_expand(i)
-{
- xbcl_mLists[i].visible = !xbcl_mLists[i].visible;
-
- if (xbcl_mLists[i].onexpand != null)
- xbcl_mLists[i].onexpand(xbcl_mLists[i].id);
-
- xbcl_mLists[xbcl_mLists[i].pid].rebuild();
-
- if (xbcl_mLists[i].postexpand != null)
- xbcl_mLists[i].postexpand(xbcl_mLists[i].id);
-}
-
-function xbcl_build(x, y)
-{
- this._updateParent(this.id);
- this._writeList();
- this._showList();
- this._updateList(true, x, y);
- this.x = x;
- this.y = y;
-}
-
-function xbcl_rebuild()
-{
- this._updateList(true, this.x, this.y);
-}
-
-function xbcl_getNewItem()
-{
- var newItem = null;
-
- newItem = xbGetElementById('lItem' + xbcl_item_id);
-
- if (!newItem)
- {
- if (document.all && !document.getElementById)
- {
- var parentElement = this.parentElement;
- if (!parentElement)
- parentElement = document.body;
-
- parentElement.insertAdjacentHTML('beforeEnd', '<div id="lItem' + xbcl_item_id + '" style="position:absolute;"></div>');
- newItem = xbGetElementById('lItem' + xbcl_item_id);
- }
- else if (document.layers)
- {
- if (this.parentElement)
- newItem = new Layer(this.width, this.parentElement);
- else
- newItem = new Layer(this.width);
- }
- else if (document.createElement)
- {
- newItem = document.createElement('div');
- newItem.id= 'lItem' + xbcl_item_id;
- newItem.style.position = 'absolute';
-
- if (this.parentElement)
- this.parentElement.appendChild(newItem);
- else
- document.body.appendChild(newItem);
- }
- }
-
- return newItem;
-}
-
-function xbcl_addItem(str, bgColor, item)
-{
- if (!item)
- item = this._getNewItem();
-
- if (!item)
- return;
-
- if (bgColor)
- item.oBgColor = bgColor;
-
- this.items[this.items.length] = item;
- this.types[this.types.length] = 'item';
- this.strs[this.strs.length] = str;
- ++xbcl_item_id;
-
- if ( this.built )
- {
- this._writeItem( item, str, false );
- xbcl_mLists[this.pid].rebuild();
- if ( this.visible )
- this._showList();
- else
- this.needsUpdate = true;
- }
-
- return item;
-}
-
-function xbcl_addList(list, str, bgColor, item)
-{
- if (!item)
- item = this._getNewItem();
-
- if (!item)
- return;
-
- if (bgColor)
- item.oBgColor = bgColor;
-
- this.lists[this.items.length] = list;
- this.items[this.items.length] = item;
- this.types[this.types.length] = 'list';
- this.strs[this.strs.length] = str;
- ++xbcl_item_id;
-
- list.parentList = this;
-
- list.pid = this.pid;
- list.l = this.l + 1;
-
- if ( this.built )
- {
- this._writeItem( item, str, true, list );
- xbcl_mLists[ this.pid ].rebuild();
- if ( this.visible )
- this._showList();
- else
- this.needsUpdate = true;
- }
-
- return item;
-}
-
-List.prototype.setIndent = xbcl_setIndent;
-List.prototype.getIndent = xbcl_getIndent;
-List.prototype.addItem = xbcl_addItem;
-List.prototype.addList = xbcl_addList;
-List.prototype.build = xbcl_build;
-List.prototype.rebuild = xbcl_rebuild;
-List.prototype.setFont = xbcl_SetFont;
-List.prototype.getFont = xbcl_GetFont;
-List.prototype.getHeight = xbcl_getHeight;
-
-List.prototype._writeList = xbcl_writeList;
-List.prototype._getNewItem = xbcl_getNewItem;
-
-if ( document.getElementById && document.createElement )
- List.prototype._writeItem = xbcl_writeItemDOMHTML;
-else
- List.prototype._writeItem = xbcl_writeItem;
-
-List.prototype._showList = xbcl_showList;
-List.prototype._updateList = xbcl_updateList;
-List.prototype._updateParent = xbcl_updateParent;
-
-List.prototype.onexpand = null;
-List.prototype.postexpand = null;
-List.prototype.lists = null; // sublists
-List.prototype.items = null; // layers
-List.prototype.types = null; // type
-List.prototype.strs = null; // content
-List.prototype.x = 0;
-List.prototype.y = 0;
-List.prototype.visible = false;
-List.prototype.id = -1;
-List.prototype.i = 18;
-List.prototype.space = true;
-List.prototype.pid = 0;
-List.prototype.fontIntro = '';
-List.prototype.fontOutro = '';
-List.prototype.width = 350;
-List.prototype.height = 22;
-List.prototype.built = false;
-List.prototype.shown = false;
-List.prototype.needsUpdate = false;
-List.prototype.needsRewrite = false;
-List.prototype.l = 0;
-List.prototype.bgColor = null;
-List.prototype.parentList = null;
-List.prototype.parentElement = null;