diff options
Diffstat (limited to 'slides/browser')
-rw-r--r-- | slides/browser/CTOCWidget.js | 169 | ||||
-rw-r--r-- | slides/browser/overlay.js | 142 | ||||
-rw-r--r-- | slides/browser/slides-default.css | 9 | ||||
-rw-r--r-- | slides/browser/slides-frames.css | 73 | ||||
-rw-r--r-- | slides/browser/slides-plain.css | 1 | ||||
-rw-r--r-- | slides/browser/slides-table.css | 41 | ||||
-rw-r--r-- | slides/browser/slides-w3c.css | 1 | ||||
-rw-r--r-- | slides/browser/slides.css | 119 | ||||
-rw-r--r-- | slides/browser/slides.js | 120 | ||||
-rw-r--r-- | slides/browser/ua.js | 135 | ||||
-rw-r--r-- | slides/browser/xbCollapsibleLists.js | 537 | ||||
-rw-r--r-- | slides/browser/xbDOM.js | 374 | ||||
-rw-r--r-- | slides/browser/xbDebug.js | 311 | ||||
-rw-r--r-- | slides/browser/xbLibrary.js | 80 | ||||
-rw-r--r-- | slides/browser/xbStyle-css.js | 791 | ||||
-rw-r--r-- | slides/browser/xbStyle-nn4.js | 485 | ||||
-rw-r--r-- | slides/browser/xbStyle-not-supported.js | 77 | ||||
-rw-r--r-- | slides/browser/xbStyle.js | 295 |
18 files changed, 0 insertions, 3760 deletions
diff --git a/slides/browser/CTOCWidget.js b/slides/browser/CTOCWidget.js deleted file mode 100644 index a411ea9..0000000 --- a/slides/browser/CTOCWidget.js +++ /dev/null @@ -1,169 +0,0 @@ -/* - * CTOCWidget.js - * $Revision: 1.3 $ $Date: 2003/07/14 06:02:50 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -function CTOCWidget(domTOCModel, target) -{ - if (domTOCModel.documentElement.nodeName != 'toc') - { - throw 'CTOCWidget called on non toc Document: ' + domTOCModel.nodeName; - } - - this.model = domTOCModel; - this.target = target; - this.view = document.createElement('div'); - this.view.setAttribute('class', CTOCWidget._classprefix + '_view'); - - var modelItems = domTOCModel.documentElement.childNodes; - for (var i = 0; i < modelItems.length; i++) - { - var modelItem = modelItems.item(i); - if (modelItem.nodeType == Node.ELEMENT_NODE) - { - var viewItem = CTOCWidget.createItemView(modelItem, target); - this.view.appendChild(viewItem); - } - } -} - -CTOCWidget._handleImages = { open: '/toolbox/examples/2003/CTOCWidget/minus.gif', closed: '/toolbox/examples/2003/CTOCWidget/plus.gif', height: '12px', width: '16px'}; -CTOCWidget._classprefix = 'CTOCWidget'; - -CTOCWidget.createItemView = function (modelItem, target) -{ - if (modelItem.nodeType != Node.ELEMENT_NODE) - { - throw 'CTOCWidget.createItemView called on non-Element: ' + modelItem.nodeName; - } - - var i; - - var viewItem = document.createElement('div'); - viewItem.setAttribute('class', CTOCWidget._classprefix + '_item'); - - var viewItemHandle = document.createElement('div'); - viewItemHandle.setAttribute('class', CTOCWidget._classprefix + '_itemhandle'); - viewItemHandle.style.cursor = 'pointer'; - - var viewItemHandleImg = document.createElement('img'); - viewItemHandleImg.style.height = CTOCWidget._handleImages.height; - viewItemHandleImg.style.width = CTOCWidget._handleImages.width; - viewItemHandleImg.addEventListener('click', CTOCWidget.toggleHandle, false); - - var viewItemHandleLink; - if (!modelItem.getAttribute('url')) - { - viewItemHandleLink = document.createElement('span'); - } - else - { - viewItemHandleLink = document.createElement('a'); - viewItemHandleLink.setAttribute('href', modelItem.getAttribute('url')); - viewItemHandleLink.setAttribute('target', target); - } - viewItemHandleLink.appendChild(document.createTextNode(modelItem.getAttribute('title'))); - - viewItemHandle.appendChild(viewItemHandleImg); - viewItemHandle.appendChild(viewItemHandleLink); - viewItem.appendChild(viewItemHandle); - - if (modelItem.childNodes.length == 0) - { - viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.open); - } - else - { - viewItemHandleImg.setAttribute('src', CTOCWidget._handleImages.closed); - - var viewItemChildren = document.createElement('div'); - viewItemChildren.setAttribute('class', CTOCWidget._classprefix + '_itemchildren'); - viewItemChildren.style.display = 'none'; - viewItemChildren.style.position = 'relative'; - viewItemChildren.style.left = '1em'; - - for (i = 0; i < modelItem.childNodes.length; i++) - { - var modelItemChild = modelItem.childNodes.item(i); - if (modelItemChild.nodeType == Node.ELEMENT_NODE) - { - viewItemChildren.appendChild(CTOCWidget.createItemView(modelItemChild, target)); - } - } - - viewItem.appendChild(viewItemChildren); - } - - return viewItem; -}; - -// fires on img part of the handle -CTOCWidget.toggleHandle = function(e) -{ - switch (e.eventPhase) - { - case Event.CAPTURING_PHASE: - case Event.BUBBLING_PHASE: - return true; - - case Event.AT_TARGET: - - e.preventBubble(); - - var domHandle = e.target.parentNode; - var domChildren = domHandle.nextSibling; - - if (!domChildren) - { - return true; - } - - switch(domChildren.style.display) - { - case '': - case 'block': - domChildren.style.display = 'none'; - e.target.setAttribute('src', CTOCWidget._handleImages.closed); - break; - case 'none': - domChildren.style.display = 'block'; - e.target.setAttribute('src', CTOCWidget._handleImages.open); - break; - default: - return false; - } - - return true; - - default: - dump('Unknown Event Phase ' + e.eventPhase); - break; - } - - return true; -} - diff --git a/slides/browser/overlay.js b/slides/browser/overlay.js deleted file mode 100644 index fc010fb..0000000 --- a/slides/browser/overlay.js +++ /dev/null @@ -1,142 +0,0 @@ -// -*- Java -*- -// -// Overlay.js, adapted from Floating image II on dynamicdrive.com -/* Usage: -<html> -<head> -<script LANGUAGE="JavaScript1.2" src="overlay.js"></script> -...rest of head... -</head> -<body onload="overlaySetup(corner)"> -<div id="overlayDiv" STYLE="position:absolute;visibility:visible;"> -...body of overlay... -</div> -...rest of page... -*/ - -var overlayNS4 = document.layers ? 1 : 0; -var overlayIE = document.all ? 1 : 0; -var overlayNS6 = document.getElementById && !document.all ? 1 : 0; - -var overlayPadX = 15; -var overlayPadY = 15; -var overlayDelay = 60; - -var overlayCorner = 'ur'; // ul, ll, ur, lr, uc, lc, cl, cr - -function overlayRefresh() { - var overlayLx = 0; - var overlayLy = 0; - - var overlayX = 0; - var overlayY = 0; - var overlayW = 0; - var overlayH = 0; - var contentH = 0; - - var links = document.getElementsByTagName("body")[0]; - - if (overlayIE) { - overlayLx = document.body.clientWidth; - overlayLy = document.body.clientHeight; - - if (document.body.parentElement) { - // For IE6 - overlayLx = document.body.parentElement.clientWidth; - overlayLy = document.body.parentElement.clientHeight; - } - - overlayH = overlayDiv.offsetHeight; - overlayW = body.offsetWidth; // overlayDiv.offsetWidth; - contentH = body.offsetHeight; - } else if (overlayNS4) { - overlayLy = window.innerHeight; - overlayLx = window.innerWidth; - overlayH = document.overlayDiv.clip.height; - overlayW = body.clip.width; // document.overlayDiv.clip.width; - contentH = body.clip.height; - } else if (overlayNS6) { - var odiv = document.getElementById('overlayDiv'); - - overlayLy = window.innerHeight; - overlayLx = window.innerWidth; - overlayH = odiv.offsetHeight; - overlayW = odiv.offsetWidth; // body.offsetWidth; - contentH = odiv.offsetHeight; - } - - if (overlayCorner == 'ul') { - overlayX = overlayPadX; - overlayY = overlayPadY; - } else if (overlayCorner == 'cl') { - overlayX = overlayPadX; - overlayY = (overlayLy - overlayH) / 2; - } else if (overlayCorner == 'll') { - overlayX = overlayPadX; - overlayY = (overlayLy - overlayH) - overlayPadY; - } else if (overlayCorner == 'ur') { - overlayX = (overlayLx - overlayW) - overlayPadX; - overlayY = overlayPadY; - } else if (overlayCorner == 'cr') { - overlayX = (overlayLx - overlayW) - overlayPadX; - overlayY = (overlayLy - overlayH) / 2; - } else if (overlayCorner == 'lr') { - overlayX = (overlayLx - overlayW) - overlayPadX; - overlayY = (overlayLy - overlayH) - overlayPadY; - } else if (overlayCorner == 'uc') { - overlayX = (overlayLx - overlayW) / 2; - overlayY = overlayPadY; - } else { // overlayCorner == 'lc' - overlayX = (overlayLx - overlayW) / 2; - overlayY = (overlayLy - overlayH) - overlayPadY; - } - - if (overlayIE) { - overlayDiv.style.left=overlayX; - overlayDiv.style.top=overlayY+document.body.scrollTop; - - if (contentH > overlayLy) { - overlayDiv.style.visibility = "hidden"; - } - } else if (overlayNS4) { - document.overlayDiv.pageX=overlayX; - document.overlayDiv.pageY=overlayY+window.pageYOffset; - document.overlayDiv.visibility="visible"; - - if (contentH > overlayLy) { - document.overlayDiv.style.visibility = "hidden"; - } - } else if (overlayNS6) { - var div = document.getElementById("overlayDiv"); - var leftpx = overlayX; - var toppx = overlayY+window.pageYOffset; - var widthpx = overlayW; - - div.style.left = leftpx + "px"; - div.style.top = toppx + "px"; - div.style.width = widthpx + "px"; - - if (contentH > overlayLy) { - div.style.visibility = "hidden"; - } else { - div.style.visibility = "visible"; - } - } -} - -function onad() { - loopfunc(); -} - -function loopfunc() { - overlayRefresh(); - setTimeout('loopfunc()',overlayDelay); -} - -function overlaySetup(corner) { - overlayCorner = corner; - - if (overlayIE || overlayNS4 || overlayNS6) { - onad(); - } -} diff --git a/slides/browser/slides-default.css b/slides/browser/slides-default.css deleted file mode 100644 index 1022d6b..0000000 --- a/slides/browser/slides-default.css +++ /dev/null @@ -1,9 +0,0 @@ -@import url('slides.css'); - -.toclink { font-size: 10pt; - font-weight: normal; - } - -.toclink a { color: blue; } -.toclink a:link { color: blue; } -.toclink a:visited { color: blue; } diff --git a/slides/browser/slides-frames.css b/slides/browser/slides-frames.css deleted file mode 100644 index 698b6a3..0000000 --- a/slides/browser/slides-frames.css +++ /dev/null @@ -1,73 +0,0 @@ -@import url('slides.css'); - -.toc-body { margin-left: 2px; - margin-right: 2px; - } - -.foil-body { margin-left: 2px; - margin-right: 2px; - } - -h1.title { margin-top: 0px; - padding-top: 0px; - } - -.navhead { visibility: visible; - } - -.navfoot { visibility: visible; - } - -/* ====================================================================== */ - -.navfoot { border-top: 1px solid black; - margin-top: 10px; - padding-top: 4px; - } -/* ====================================================================== */ - -.toc { font-weight: bold; - font-size: 10pt; - } - -.toc a { text-decoration: none; } -.toc a:link { color: blue; } -.toc a:visited { color: blue; } - -.toc .toc-foilgroup a { color: red; } -.toc .toc-foilgroup a:link { color: red; } -.toc .toc-foilgroup a:visited { color: red; } - -.toc .toc-titlefoil a { color: black; } -.toc .toc-titlefoil a:link { color: black; } -.toc .toc-titlefoil a:visited { color: black; } - -.toc .toc-foil a { color: blue; } -.toc .toc-foil a:link { color: blue; } -.toc .toc-foil a:visited { color: blue; } - -.toc-slidesinfo { font-family: sans-serif; - font-weight: bold; - text-align: center; - } - -.toc-titlefoil { font-family: sans-serif; - font-weight: bold; - text-align: center; - } - -.toc-foilgroup { font-family: sans-serif; - margin-left: 0.25in; - text-indent: -0.25in; - font-weight: bold; - color: red; - } - -.toc-foil { font-family: sans-serif; - font-size: 10pt; - margin-left: 0.25in; - text-indent: -0.4in; - font-weight: bold; - color: blue; - } - diff --git a/slides/browser/slides-plain.css b/slides/browser/slides-plain.css deleted file mode 100644 index c22f289..0000000 --- a/slides/browser/slides-plain.css +++ /dev/null @@ -1 +0,0 @@ -@import url('slides.css'); diff --git a/slides/browser/slides-table.css b/slides/browser/slides-table.css deleted file mode 100644 index 1c195c9..0000000 --- a/slides/browser/slides-table.css +++ /dev/null @@ -1,41 +0,0 @@ -@import url('slides.css'); - -.toc-body { margin-left: 2px; - margin-right: 2px; - } - -.foil-body { margin-left: 2px; - margin-right: 2px; - } - -.foilgroup-body { margin-left: 2px; - margin-right: 2px; - } - -h1.title { - margin-top: 0px; - padding-top: 0px; - } - -/* ToC Stuff */ - -.ttoc { - font-size: 10pt; - color: white; - } - -.ttoc a { text-decoration: none; } -.ttoc a:link { color: white } -.ttoc a:visited { color: white } - -.ttoc-title { - font-size: 10pt; - } - -.ttoc-foilset { - font-size: 10pt; - } - -.ttoc-foil { - font-size: 10pt; - } diff --git a/slides/browser/slides-w3c.css b/slides/browser/slides-w3c.css deleted file mode 100644 index c22f289..0000000 --- a/slides/browser/slides-w3c.css +++ /dev/null @@ -1 +0,0 @@ -@import url('slides.css'); diff --git a/slides/browser/slides.css b/slides/browser/slides.css deleted file mode 100644 index 1007478..0000000 --- a/slides/browser/slides.css +++ /dev/null @@ -1,119 +0,0 @@ -/* General formatting */ - -body { font-family: sans-serif; - font-weight: bold; - } - -.copyright { color: #7F7F7F; - } - -/* Title page formatting */ - - -.slidesinfo { text-align: center; - font-size: 16pt; - } - -.slidesinfo h1.title { color: blue; - } -.slidesinfo h2.subtitle { color: blue; - } -.slidesinfo h1.author { color: green; - } - -.slidesinfo .copyright { color: black; - } - - -/* ToC page formatting */ - -.tocpage h1.title { color: blue; - text-align: center; - } - -.tocpage a { text-decoration: none; } -.tocpage a:link { color: blue; } -.tocpage a:visited { color: blue; } - -.toc-body { margin-left: 0.5in; - margin-right: 0.5in; - } - -/* Foil page formatting */ - -.foil { font-size: 16pt; - } -.foil h1.title { text-align: center; - color: blue; - padding-top: 0pt; - margin-top: 0pt; - } -.foil h2.subtitle { text-align: center; - color: blue; - padding-top: 0pt; - margin-top: 0pt; - } - -.foil pre { font-size: 16pt; - } - -.foil-body { margin-left: 0.5in; - margin-right: 0.5in; - } - -/* Foilgroup page formatting */ - -.foilgroup { font-size: 16pt; - } -.foilgroup h1.title { text-align: center; - color: red; - padding-top: 0pt; - margin-top: 0pt; - } -.foilgroup h2.subtitle { text-align: center; - color: blue; - padding-top: 0pt; - margin-top: 0pt; - } - -.foilgroup-body { margin-left: 0.5in; - margin-right: 0.5in; - } - -/* Navigation header formatting */ - -.navhead { border-bottom: 1px solid black; - margin-bottom: 10px; - padding-bottom: 4px; - } - -.navhead hr.top-nav-sep { display: none; } - -.navhead .slidestitle { font-weight: normal; - font-size: 10pt; - font-style: italic; - } - -/* Navigation footer formatting */ - -.navfoot { border-top: 1px solid black; - margin-top: 10px; - padding-top: 4px; - } - -.navfoot hr.bottom-nav-sep { display: none; } - -/* General navigation formatting */ - -.link-text { font-weight: bold; - font-size: 10pt; - } - - -.link-text a { text-decoration: none; } -.link-text a:link { color: blue; } -.link-text a:visited { color: blue; } - -.no-link-text { color: #7F7F7F; } - -/* EOF */ diff --git a/slides/browser/slides.js b/slides/browser/slides.js deleted file mode 100644 index 2e48a7c..0000000 --- a/slides/browser/slides.js +++ /dev/null @@ -1,120 +0,0 @@ -// -*- Java -*- -// -// $Id: slides.js 4931 2005-06-21 15:45:53Z kosek $ -// -// Copyright (C) 2002 Norman Walsh -// -// You are free to use, modify and distribute this software without limitation. -// This software is provided "AS IS," without a warranty of any kind. -// -// This script assumes that the Netscape 'ua.js' module has also been loaded. - -function newPage(filename, overlay) { - divs = document.getElementsByTagName("div"); - - if (divs) { - var xdiv = divs[0]; - - if (xdiv) { - var xid = xdiv.getAttribute("id"); - - var mytoc = window.top.frames[0]; - if (mytoc.lastUnderlined) { - mytoc.lastUnderlined.style.textDecoration = "none"; - } - - var tdiv = xbGetElementById(xid, mytoc); - - if (tdiv) { - var ta = tdiv.getElementsByTagName("a").item(0); - ta.style.textDecoration = "underline"; - mytoc.lastUnderlined = ta; - } - } - } - - if (overlay != 0) { - overlaySetup('lc'); - } -} - - -function navigate (evt) { - var kc = -1; - - if (navigator.org == 'microsoft' || navigator.family == 'opera') { - kc = window.event.keyCode; - } else if (navigator.family == 'gecko') { - kc = evt.keyCode; - if(!kc) { - kc = evt.which; - } - } else { - kc = evt.which; - } - - var forward = (kc == 110) || (kc == 78) || (kc == 32) - || (kc == 10) || (kc == 13) || (kc == 34) - || (kc == 39); - /* n, N, SPACE, ENTER, RETURN, PAGE UP, RIGHT ARROW */ - var backward = (kc == 112) || (kc == 80) || (kc == 8) - || (kc == 33) || (kc == 37); - /* p, P, BACKSPACE, PAGE DOWN, LEFT ARROW */ - var up = (kc == 117) || (kc == 85) || (kc == 38); - /* u, U, UP ARROW */ - var home = (kc == 104) || (kc == 72) || (kc == 36); - /* h, H, HOME */ - var toc = (kc == 116) || (kc == 84); - /* t, T */ - /* previously included META (kc == 244) */ - - var links = document.getElementsByTagName("link"); - - var count = 0; - var target = ""; - - for (count = 0; count < links.length; count++) { - if (home && (links[count].getAttribute("rel") == 'top')) { - target = links[count].getAttribute("href"); - } - if (toc && (links[count].getAttribute("rel") == 'contents')) { - target = links[count].getAttribute("href"); - } - if (up && (links[count].getAttribute("rel") == 'up')) { - target = links[count].getAttribute("href"); - } - if (forward && (links[count].getAttribute("rel") == 'next')) { - target = links[count].getAttribute("href"); - } - if (backward && (links[count].getAttribute("rel") == 'previous')) { - target = links[count].getAttribute("href"); - } - } - - if (target != "") { - if (window.top.frames[1]) { - window.top.frames[1].location = target; - } else { - window.location = target; - } - } - - return false; -} - -function toggletoc (img, width, hidegraphic, showgraphic) { - var fsc = top.GetElementsByTagName('frameset'); - if (fsc) { - var fs = fsc[0]; - if (fs) { - if (fs.cols == "0,*") { - fs.cols = width + ",*"; - img.src = hidegraphic; - } else { - fs.cols = "0,*"; - img.src = showgraphic; - } - } - } -} - diff --git a/slides/browser/ua.js b/slides/browser/ua.js deleted file mode 100644 index 8987659..0000000 --- a/slides/browser/ua.js +++ /dev/null @@ -1,135 +0,0 @@ -/* - * ua.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:17 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -function xbDetectBrowser() -{ - var oldOnError = window.onerror; - var element = null; - - window.onerror = null; - - // work around bug in xpcdom Mozilla 0.9.1 - window.saveNavigator = window.navigator; - - navigator.OS = ''; - navigator.version = parseFloat(navigator.appVersion); - navigator.org = ''; - navigator.family = ''; - - var platform; - if (typeof(window.navigator.platform) != 'undefined') - { - platform = window.navigator.platform.toLowerCase(); - if (platform.indexOf('win') != -1) - navigator.OS = 'win'; - else if (platform.indexOf('mac') != -1) - navigator.OS = 'mac'; - else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1) - navigator.OS = 'nix'; - } - - var i = 0; - var ua = window.navigator.userAgent.toLowerCase(); - - if (ua.indexOf('opera') != -1) - { - i = ua.indexOf('opera'); - navigator.family = 'opera'; - navigator.org = 'opera'; - navigator.version = parseFloat('0' + ua.substr(i+6), 10); - } - else if ((i = ua.indexOf('msie')) != -1) - { - navigator.org = 'microsoft'; - navigator.version = parseFloat('0' + ua.substr(i+5), 10); - - if (navigator.version < 4) - navigator.family = 'ie3'; - else - navigator.family = 'ie4' - } - else if (ua.indexOf('gecko') != -1) - { - navigator.family = 'gecko'; - var rvStart = ua.indexOf('rv:'); - var rvEnd = ua.indexOf(')', rvStart); - var rv = ua.substring(rvStart+3, rvEnd); - var rvParts = rv.split('.'); - var rvValue = 0; - var exp = 1; - - for (var i = 0; i < rvParts.length; i++) - { - var val = parseInt(rvParts[i]); - rvValue += val / exp; - exp *= 100; - } - navigator.version = rvValue; - - if (ua.indexOf('netscape') != -1) - navigator.org = 'netscape'; - else if (ua.indexOf('compuserve') != -1) - navigator.org = 'compuserve'; - else - navigator.org = 'mozilla'; - } - else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1)) - { - var is_major = parseFloat(navigator.appVersion); - - if (is_major < 4) - navigator.version = is_major; - else - { - i = ua.lastIndexOf('/') - navigator.version = parseFloat('0' + ua.substr(i+1), 10); - } - navigator.org = 'netscape'; - navigator.family = 'nn' + parseInt(navigator.appVersion); - } - else if ((i = ua.indexOf('aol')) != -1 ) - { - // aol - navigator.family = 'aol'; - navigator.org = 'aol'; - navigator.version = parseFloat('0' + ua.substr(i+4), 10); - } - else if ((i = ua.indexOf('hotjava')) != -1 ) - { - // hotjava - navigator.family = 'hotjava'; - navigator.org = 'sun'; - navigator.version = parseFloat(navigator.appVersion); - } - - window.onerror = oldOnError; -} - -xbDetectBrowser(); - 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 + '> </TD>'; - - if (this.l>0 && this.i>0) - str += '<TD WIDTH="' + this.l*this.i+ '" NOWRAP' + cellStyle + '> </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; diff --git a/slides/browser/xbDOM.js b/slides/browser/xbDOM.js deleted file mode 100644 index 39cc8bf..0000000 --- a/slides/browser/xbDOM.js +++ /dev/null @@ -1,374 +0,0 @@ -/* - * xbDOM.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:18 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -function xbToInt(s) -{ - var i = parseInt(s, 10); - if (isNaN(i)) - i = 0; - - return i; -} - -function xbGetWindowWidth(windowRef) -{ - var width = 0; - - if (!windowRef) - { - windowRef = window; - } - - if (typeof(windowRef.innerWidth) == 'number') - { - width = windowRef.innerWidth; - } - else if (windowRef.document.body && typeof(windowRef.document.body.clientWidth) == 'number') - { - width = windowRef.document.body.clientWidth; - } - - return width; -} - -function xbGetWindowHeight(windowRef) -{ - var height = 0; - - if (!windowRef) - { - windowRef = window; - } - - if (typeof(windowRef.innerWidth) == 'number') - { - height = windowRef.innerHeight; - } - else if (windowRef.document.body && typeof(windowRef.document.body.clientWidth) == 'number') - { - height = windowRef.document.body.clientHeight; - } - return height; -} - -function xbGetElementsByNameAndType(name, type, windowRef) -{ - if (!windowRef) - windowRef = window; - - var elmlist = new Array(); - - xbFindElementsByNameAndType(windowRef.document, name, type, elmlist); - - return elmlist; -} - -function xbFindElementsByNameAndType(doc, name, type, elmlist) -{ - var i; - var subdoc; - - for (i = 0; i < doc[type].length; ++i) - { - if (doc[type][i].name && name == doc[type][i].name) - { - elmlist[elmlist.length] = doc[type][i]; - } - } - - if (doc.layers) - { - for (i = 0; i < doc.layers.length; ++i) - { - subdoc = doc.layers[i].document; - xbFindElementsByNameAndType(subdoc, name, type, elmlist); - } - } -} - -if (document.layers) -{ - nav4FindLayer = - function (doc, id) - { - var i; - var subdoc; - var obj; - - for (i = 0; i < doc.layers.length; ++i) - { - if (doc.layers[i].id && id == doc.layers[i].id) - return doc.layers[i]; - - subdoc = doc.layers[i].document; - obj = nav4FindLayer(subdoc, id); - if (obj != null) - return obj; - } - return null; - } - - nav4FindElementsByName = - function (doc, name, elmlist) - { - var i; - var j; - var subdoc; - - for (i = 0; i < doc.images.length; ++i) - { - if (doc.images[i].name && name == doc.images[i].name) - { - elmlist[elmlist.length] = doc.images[i]; - } - } - - for (i = 0; i < doc.forms.length; ++i) - { - for (j = 0; j < doc.forms[i].elements.length; j++) - { - if (doc.forms[i].elements[j].name && name == doc.forms[i].elements[j].name) - { - elmlist[elmlist.length] = doc.forms[i].elements[j]; - } - } - - if (doc.forms[i].name && name == doc.forms[i].name) - { - elmlist[elmlist.length] = doc.forms[i]; - } - } - - for (i = 0; i < doc.anchors.length; ++i) - { - if (doc.anchors[i].name && name == doc.anchors[i].name) - { - elmlist[elmlist.length] = doc.anchors[i]; - } - } - - for (i = 0; i < doc.links.length; ++i) - { - if (doc.links[i].name && name == doc.links[i].name) - { - elmlist[elmlist.length] = doc.links[i]; - } - } - - for (i = 0; i < doc.applets.length; ++i) - { - if (doc.applets[i].name && name == doc.applets[i].name) - { - elmlist[elmlist.length] = doc.applets[i]; - } - } - - for (i = 0; i < doc.embeds.length; ++i) - { - if (doc.embeds[i].name && name == doc.embeds[i].name) - { - elmlist[elmlist.length] = doc.embeds[i]; - } - } - - for (i = 0; i < doc.layers.length; ++i) - { - if (doc.layers[i].name && name == doc.layers[i].name) - { - elmlist[elmlist.length] = doc.layers[i]; - } - - subdoc = doc.layers[i].document; - nav4FindElementsByName(subdoc, name, elmlist); - } - } - - xbGetElementById = function (id, windowRef) - { - if (!windowRef) - windowRef = window; - - return nav4FindLayer(windowRef.document, id); - }; - - xbGetElementsByName = function (name, windowRef) - { - if (!windowRef) - windowRef = window; - - var elmlist = new Array(); - - nav4FindElementsByName(windowRef.document, name, elmlist); - - return elmlist; - }; - -} -else if (document.all) -{ - xbGetElementById = - function (id, windowRef) - { - if (!windowRef) - { - windowRef = window; - } - var elm = windowRef.document.all[id]; - if (!elm) - { - elm = null; - } - return elm; - }; - - xbGetElementsByName = function (name, windowRef) - { - if (!windowRef) - windowRef = window; - - var i; - var idnamelist = windowRef.document.all[name]; - var elmlist = new Array(); - - if (!idnamelist.length || idnamelist.name == name) - { - if (idnamelist) - elmlist[elmlist.length] = idnamelist; - } - else - { - for (i = 0; i < idnamelist.length; i++) - { - if (idnamelist[i].name == name) - elmlist[elmlist.length] = idnamelist[i]; - } - } - - return elmlist; - } - -} -else if (document.getElementById) -{ - xbGetElementById = - function (id, windowRef) - { - if (!windowRef) - { - windowRef = window; - } - return windowRef.document.getElementById(id); - }; - - xbGetElementsByName = - function (name, windowRef) - { - if (!windowRef) - { - windowRef = window; - } - return windowRef.document.getElementsByName(name); - }; -} -else -{ - xbGetElementById = - function (id, windowRef) - { - return null; - }; - - xbGetElementsByName = - function (name, windowRef) - { - return new Array(); - }; -} - -function xbGetPageScrollX(windowRef) -{ - if (!windowRef) - { - windowRef = window; - } - - if (typeof(windowRef.pageXOffset) == 'number') - { - return windowRef.pageXOffset; - } - - if (typeof(windowRef.document.body && windowRef.document.body.scrollLeft) == 'number') - { - return windowRef.document.body.scrollLeft; - } - - return 0; -} - -function xbGetPageScrollY(windowRef) -{ - if (!windowRef) - { - windowRef = window; - } - - if (typeof(windowRef.pageYOffset) == 'number') - { - return windowRef.pageYOffset; - } - - if (typeof(windowRef.document.body && windowRef.document.body.scrollTop) == 'number') - { - return windowRef.document.body.scrollTop; - } - - return 0; -} - -if (document.layers) -{ - xbSetInnerHTML = - function (element, str) - { - element.document.write(str); - element.document.close(); - }; -} -else -{ - xbSetInnerHTML = function (element, str) - { - if (typeof(element.innerHTML) != 'undefined') - { - element.innerHTML = str; - } - }; -} - -// eof: xbDOM.js diff --git a/slides/browser/xbDebug.js b/slides/browser/xbDebug.js deleted file mode 100644 index 48fd010..0000000 --- a/slides/browser/xbDebug.js +++ /dev/null @@ -1,311 +0,0 @@ -/* - * xbDebug.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:19 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -/* -ChangeLog: - -2002-02-25: bclary - modified xbDebugTraceOject to make sure - that original versions of wrapped functions were not - rewrapped. This had caused an infinite loop in IE. - -2002-02-07: bclary - modified xbDebug.prototype.close to not null - the debug window reference. This can cause problems with - Internet Explorer if the page is refreshed. These issues will - be addressed at a later date. -*/ - -function xbDebug() -{ - this.on = false; - this.stack = new Array(); - this.debugwindow = null; - this.execprofile = new Object(); -} - -xbDebug.prototype.push = function () -{ - this.stack[this.stack.length] = this.on; - this.on = true; -} - -xbDebug.prototype.pop = function () -{ - this.on = this.stack[this.stack.length - 1]; - --this.stack.length; -} - -xbDebug.prototype.open = function () -{ - if (this.debugwindow && !this.debugwindow.closed) - this.close(); - - this.debugwindow = window.open('about:blank', 'DEBUGWINDOW', 'height=400,width=600,resizable=yes,scrollbars=yes'); - this.debugwindow.moveTo(0,0); - window.focus(); - - this.debugwindow.document.write('<html><head><title>xbDebug Window</title></head><body><h3>Javascript Debug Window</h3></body></html>'); -} - -xbDebug.prototype.close = function () -{ - if (!this.debugwindow) - return; - - if (!this.debugwindow.closed) - this.debugwindow.close(); - - // bc 2002-02-07, other windows may still hold a reference to this: this.debugwindow = null; -} - -xbDebug.prototype.dump = function (msg) -{ - if (!this.on) - return; - - if (!this.debugwindow || this.debugwindow.closed) - this.open(); - - this.debugwindow.document.write(msg + '<br>'); - - return; -} - -var xbDEBUG = new xbDebug(); - -window.onunload = function () { xbDEBUG.close(); } - -function xbDebugGetFunctionName(funcref) -{ - - if (!funcref) - { - return ''; - } - - if (funcref.name) - return funcref.name; - - var name = funcref + ''; - name = name.substring(name.indexOf(' ') + 1, name.indexOf('(')); - funcref.name = name; - - if (!name) alert('name not defined'); - return name; -} - - -// emulate functionref.apply for IE mac and IE win < 5.5 -function xbDebugApplyFunction(funcname, funcref, thisref, argumentsref) -{ - var rv; - - if (!funcref) - { - alert('xbDebugApplyFunction: funcref is null'); - } - - if (typeof(funcref.apply) != 'undefined') - return funcref.apply(thisref, argumentsref); - - var applyexpr = 'thisref.xbDebug_orig_' + funcname + '('; - var i; - - for (i = 0; i < argumentsref.length; i++) - { - applyexpr += 'argumentsref[' + i + '],'; - } - - if (argumentsref.length > 0) - { - applyexpr = applyexpr.substring(0, applyexpr.length - 1); - } - - applyexpr += ')'; - - return eval(applyexpr); -} - -function xbDebugCreateFunctionWrapper(scopename, funcname, precall, postcall) -{ - var wrappedfunc; - var scopeobject = eval(scopename); - var funcref = scopeobject[funcname]; - - scopeobject['xbDebug_orig_' + funcname] = funcref; - - wrappedfunc = function () - { - var rv; - - precall(scopename, funcname, arguments); - rv = xbDebugApplyFunction(funcname, funcref, scopeobject, arguments); - postcall(scopename, funcname, arguments, rv); - return rv; - }; - - if (typeof(funcref.constructor) != 'undefined') - wrappedfunc.constructor = funcref.constuctor; - - if (typeof(funcref.prototype) != 'undefined') - wrappedfunc.prototype = funcref.prototype; - - scopeobject[funcname] = wrappedfunc; -} - -function xbDebugCreateMethodWrapper(contextname, classname, methodname, precall, postcall) -{ - var context = eval(contextname); - var methodref = context[classname].prototype[methodname]; - - context[classname].prototype['xbDebug_orig_' + methodname] = methodref; - - var wrappedmethod = function () - { - var rv; - // eval 'this' at method run time to pick up reference to the object's instance - var thisref = eval('this'); - // eval 'arguments' at method run time to pick up method's arguments - var argsref = arguments; - - precall(contextname + '.' + classname, methodname, argsref); - rv = xbDebugApplyFunction(methodname, methodref, thisref, argsref); - postcall(contextname + '.' + classname, methodname, argsref, rv); - return rv; - }; - - return wrappedmethod; -} - -function xbDebugPersistToString(obj) -{ - var s = ''; - - if (obj == null) - return 'null'; - - switch(typeof(obj)) - { - case 'number': - return obj; - case 'string': - return '"' + obj + '"'; - case 'undefined': - return 'undefined'; - case 'boolean': - return obj + ''; - } - - if (obj.constructor) - return '[' + xbDebugGetFunctionName(obj.constructor) + ']'; - - return null; -} - -function xbDebugTraceBefore(scopename, funcname, funcarguments) -{ - var i; - var s = ''; - var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname]; - if (!execprofile) - execprofile = xbDEBUG.execprofile[scopename + '.' + funcname] = { started: 0, time: 0, count: 0 }; - - for (i = 0; i < funcarguments.length; i++) - { - s += xbDebugPersistToString(funcarguments[i]); - if (i < funcarguments.length - 1) - s += ', '; - } - - xbDEBUG.dump('enter ' + scopename + '.' + funcname + '(' + s + ')'); - execprofile.started = (new Date()).getTime(); -} - -function xbDebugTraceAfter(scopename, funcname, funcarguments, rv) -{ - var i; - var s = ''; - var execprofile = xbDEBUG.execprofile[scopename + '.' + funcname]; - if (!execprofile) - xbDEBUG.dump('xbDebugTraceAfter: execprofile not created for ' + scopename + '.' + funcname); - else if (execprofile.started == 0) - xbDEBUG.dump('xbDebugTraceAfter: execprofile.started == 0 for ' + scopename + '.' + funcname); - else - { - execprofile.time += (new Date()).getTime() - execprofile.started; - execprofile.count++; - execprofile.started = 0; - } - - for (i = 0; i < funcarguments.length; i++) - { - s += xbDebugPersistToString(funcarguments[i]); - if (i < funcarguments.length - 1) - s += ', '; - } - - xbDEBUG.dump('exit ' + scopename + '.' + funcname + '(' + s + ')==' + xbDebugPersistToString(rv)); -} - -function xbDebugTraceFunction(scopename, funcname) -{ - xbDebugCreateFunctionWrapper(scopename, funcname, xbDebugTraceBefore, xbDebugTraceAfter); -} - -function xbDebugTraceObject(contextname, classname) -{ - var classref = eval(contextname + '.' + classname); - var p; - var sp; - - if (!classref || !classref.prototype) - return; - - for (p in classref.prototype) - { - sp = p + ''; - if (typeof(classref.prototype[sp]) == 'function' && (sp).indexOf('xbDebug_orig') == -1) - { - classref.prototype[sp] = xbDebugCreateMethodWrapper(contextname, classname, sp, xbDebugTraceBefore, xbDebugTraceAfter); - } - } -} - -function xbDebugDumpProfile() -{ - var p; - var execprofile; - var avg; - - for (p in xbDEBUG.execprofile) - { - execprofile = xbDEBUG.execprofile[p]; - avg = Math.round ( 100 * execprofile.time/execprofile.count) /100; - xbDEBUG.dump('Execution profile ' + p + ' called ' + execprofile.count + ' times. Total time=' + execprofile.time + 'ms. Avg Time=' + avg + 'ms.'); - } -} diff --git a/slides/browser/xbLibrary.js b/slides/browser/xbLibrary.js deleted file mode 100644 index 9bbfd6b..0000000 --- a/slides/browser/xbLibrary.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - * xbLibrary.js - * $Revision: 1.3 $ $Date: 2003/03/17 03:44:20 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Bob Clary code. - * - * The Initial Developer of the Original Code is - * Bob Clary. - * Portions created by the Initial Developer are Copyright (C) 2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bc@bclary.com> - * - * ***** END LICENSE BLOCK ***** */ - -if (!document.getElementById || navigator.userAgent.indexOf('Opera') != -1) -{ - // assign error handler for downlevel browsers - // Note until Opera improves it's overall support - // for JavaScript and the DOM, it must be considered downlevel - - window.onerror = defaultOnError; - - function defaultOnError(msg, url, line) - { - // handle bug in NS6.1, N6.2 - // where an Event is passed to error handlers - if (typeof(msg) != 'string') - { - msg = 'unknown error'; - } - if (typeof(url) != 'string') - { - url = document.location; - } - - alert('An error has occurred at ' + url + ', line ' + line + ': ' + msg); - } -} - -function xbLibrary(path) -{ - if (path.charAt(path.length-1) == '/') - { - path = path.substr(0, path.length-1) - } - this.path = path; -} - -// dynamically loaded scripts -// -// it is an error to reference anything from the dynamically loaded file inside the -// same script block. This means that a file can not check its dependencies and -// load the files for it's own use. someone else must do this. - -xbLibrary.prototype.loadScript = -function (scriptName) -{ - document.write('<script language="javascript" src="' + this.path + '/' + scriptName + '"><\/script>'); -}; - -// default xbLibrary - -xblibrary = new xbLibrary('./'); - - diff --git a/slides/browser/xbStyle-css.js b/slides/browser/xbStyle-css.js deleted file mode 100644 index f5b8467..0000000 --- a/slides/browser/xbStyle-css.js +++ /dev/null @@ -1,791 +0,0 @@ -/* - * xbStyle-css.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:21 $ - * - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -// xbStyle.getClip() - -function cssStyleGetClip() -{ - var clip = this.getEffectiveValue('clip'); - - // hack opera - if (clip == 'rect()') - clip = ''; - - if (clip == '' || clip == 'auto') - { - clip = 'rect(0px, ' + this.getWidth() + 'px, ' + this.getHeight() + 'px, 0px)'; - } - else - { - clip = clip.replace(/px /g, 'px, '); - } - - return clip; -} - -// xbStyle.setClip() - -function cssStyleSetClip(sClipString) -{ - this.styleObj.clip = sClipString; -} - -// xbStyle.getClipTop() - -function cssStyleGetClipTop() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.top; -} - -// xbStyle.setClipTop() - -function cssStyleSetClipTop(top) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.top = top; - this.styleObj.clip = rect.toString(); -} - -// xbStyle.getClipRight() - -function cssStyleGetClipRight() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.right; -} - -// xbStyle.setClipRight() - -function cssStyleSetClipRight(right) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.right = right; - this.styleObj.clip = rect.toString(); -} - -// xbStyle.getClipBottom() - -function cssStyleGetClipBottom() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.bottom; -} - -// xbStyle.setClipBottom() - -function cssStyleSetClipBottom(bottom) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.bottom = bottom; - this.styleObj.clip = rect.toString(); -} - -// xbStyle.getClipLeft() - -function cssStyleGetClipLeft() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.left; -} - -// xbStyle.setClipLeft() - -function cssStyleSetClipLeft(left) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.left = left; - this.styleObj.clip = rect.toString(); -} - -// xbStyle.getClipWidth() - -function cssStyleGetClipWidth() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.getWidth(); -} - -// xbStyle.setClipWidth() - -function cssStyleSetClipWidth(width) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.setWidth(width); - this.styleObj.clip = rect.toString(); -} - -// xbStyle.getClipHeight() - -function cssStyleGetClipHeight() -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - return rect.getHeight(); -} - -// xbStyle.setClipHeight() - -function cssStyleSetClipHeight(height) -{ - var clip = this.getClip(); - var rect = new xbClipRect(clip); - rect.setHeight(height); - this.styleObj.clip = rect.toString(); -} - -// the CSS attributes left,top are for absolutely positioned elements -// measured relative to the containing element. for relatively positioned -// elements, left,top are measured from the element's normal inline position. -// getLeft(), setLeft() operate on this type of coordinate. -// -// to allow dynamic positioning the getOffsetXXX and setOffsetXXX methods are -// defined to return and set the position of either an absolutely or relatively -// positioned element relative to the containing element. -// -// - -// xbStyle.getLeft() - -function cssStyleGetLeft() -{ - var left = this.getEffectiveValue('left'); - if (typeof(left) == 'number') - return left; - - if (left != '' && left.indexOf('px') == -1) - { - xbDEBUG.dump('xbStyle.getLeft: Element ID=' + this.object.id + ' does not use pixels as units. left=' + left + ' Click Ok to continue, Cancel to Abort'); - return 0; - } - - if (top == 'auto' && this.object && typeof(this.object.offsetTop) == 'number') - { - left = this.object.offsetTop + 'px'; - } - - if (left == '') - left = '0px'; - - return xbToInt(left); -} - -// xbStyle.setLeft() - -function cssStyleSetLeft(left) -{ - if (typeof(this.styleObj.left) == 'number') - this.styleObj.left = left; - else - this.styleObj.left = left + 'px'; -} - -// xbStyle.getTop() - -function cssStyleGetTop() -{ - var top = this.getEffectiveValue('top'); - if (typeof(top) == 'number') - return top; - - if (top != '' && top.indexOf('px') == -1) - { - xbDEBUG.dump('xbStyle.getTop: Element ID=' + this.object.id + ' does not use pixels as units. top=' + top + ' Click Ok to continue, Cancel to Abort'); - return 0; - } - - if (top == 'auto' && this.object && typeof(this.object.offsetTop) == 'number') - { - top = this.object.offsetTop + 'px'; - } - - if (top == '') - top = '0px'; - - return xbToInt(top); -} - -// xbStyle.setTop() - -function cssStyleSetTop(top) -{ - if (typeof(this.styleObj.top) == 'number') - this.styleObj.top = top; - else - this.styleObj.top = top + 'px'; -} - -// xbStyle.getPageX() - -function cssStyleGetPageX() -{ - var x = 0; - var elm = this.object; - var elmstyle; - var position; - - //xxxHack: Due to limitations in Gecko's (0.9.6) ability to determine the - // effective position attribute , attempt to use offsetXXX - - if (typeof(elm.offsetLeft) == 'number') - { - while (elm) - { - x += elm.offsetLeft; - elm = elm.offsetParent; - } - } - else - { - while (elm) - { - if (elm.style) - { - elmstyle = new xbStyle(elm); - position = elmstyle.getEffectiveValue('position'); - if (position != '' && position != 'static') - x += elmstyle.getLeft(); - } - elm = elm.parentNode; - } - } - - return x; -} - -// xbStyle.setPageX() - -function cssStyleSetPageX(x) -{ - var xParent = 0; - var elm = this.object.parentNode; - var elmstyle; - var position; - - //xxxHack: Due to limitations in Gecko's (0.9.6) ability to determine the - // effective position attribute , attempt to use offsetXXX - - if (elm && typeof(elm.offsetLeft) == 'number') - { - while (elm) - { - xParent += elm.offsetLeft; - elm = elm.offsetParent; - } - } - else - { - while (elm) - { - if (elm.style) - { - elmstyle = new xbStyle(elm); - position = elmstyle.getEffectiveValue('position'); - if (position != '' && position != 'static') - xParent += elmstyle.getLeft(); - } - elm = elm.parentNode; - } - } - - x -= xParent; - - this.setLeft(x); -} - -// xbStyle.getPageY() - -function cssStyleGetPageY() -{ - var y = 0; - var elm = this.object; - var elmstyle; - var position; - - //xxxHack: Due to limitations in Gecko's (0.9.6) ability to determine the - // effective position attribute , attempt to use offsetXXX - - if (typeof(elm.offsetTop) == 'number') - { - while (elm) - { - y += elm.offsetTop; - elm = elm.offsetParent; - } - } - else - { - while (elm) - { - if (elm.style) - { - elmstyle = new xbStyle(elm); - position = elmstyle.getEffectiveValue('position'); - if (position != '' && position != 'static') - y += elmstyle.getTop(); - } - elm = elm.parentNode; - } - } - - return y; -} - -// xbStyle.setPageY() - -function cssStyleSetPageY(y) -{ - var yParent = 0; - var elm = this.object.parentNode; - var elmstyle; - var position; - - //xxxHack: Due to limitations in Gecko's (0.9.6) ability to determine the - // effective position attribute , attempt to use offsetXXX - - if (elm && typeof(elm.offsetTop) == 'number') - { - while (elm) - { - yParent += elm.offsetTop; - elm = elm.offsetParent; - } - } - else - { - while (elm) - { - if (elm.style) - { - elmstyle = new xbStyle(elm); - position = elmstyle.getEffectiveValue('position'); - if (position != '' && position != 'static') - yParent += elmstyle.getTop(); - } - elm = elm.parentNode; - } - } - - y -= yParent; - - this.setTop(y); -} - -// xbStyle.getHeight() - -function cssStyleGetHeight() -{ - var display = this.getEffectiveValue('display'); - var height = this.getEffectiveValue('height'); - - if (typeof(height) == 'number') - { - // Opera - return height; - } - - if (height == '' || height == 'auto' || height.indexOf('%') != -1) - { - if (typeof(this.object.offsetHeight) == 'number') - { - height = this.object.offsetHeight + 'px'; - } - else if (typeof(this.object.scrollHeight) == 'number') - { - height = this.object.scrollHeight + 'px'; - } - } - - if (height.indexOf('px') == -1) - { - xbDEBUG.dump('xbStyle.getHeight: Element ID=' + this.object.id + ' does not use pixels as units. height=' + height + ' Click Ok to continue, Cancel to Abort'); - return 0; - } - - height = xbToInt(height); - - return height; -} - -// xbStyle.setHeight() - -function cssStyleSetHeight(height) -{ - if (typeof(this.styleObj.height) == 'number') - this.styleObj.height = height; - else - this.styleObj.height = height + 'px'; -} - -// xbStyle.getWidth() - -function cssStyleGetWidth() -{ - var display = this.getEffectiveValue('display'); - var width = this.getEffectiveValue('width'); - - if (typeof(width) == 'number') - { - // note Opera 6 has a bug in width and offsetWidth where - // it returns the page width. Use clientWidth instead. - if (navigator.userAgent.indexOf('Opera') != -1) - return this.object.clientWidth; - else - return width; - } - - if (width == '' || width == 'auto' || width.indexOf('%') != -1) - { - if (typeof(this.object.offsetWidth) == 'number') - { - width = this.object.offsetWidth + 'px'; - } - else if (typeof(this.object.scrollHeight) == 'number') - { - width = this.object.scrollWidth + 'px'; - } - } - - if (width.indexOf('px') == -1) - { - xbDEBUG.dump('xbStyle.getWidth: Element ID=' + this.object.id + ' does not use pixels as units. width=' + width + ' Click Ok to continue, Cancel to Abort'); - return 0; - } - - width = xbToInt(width); - - return width; -} - -// xbStyle.setWidth() - -function cssStyleSetWidth(width) -{ - if (typeof(this.styleObj.width) == 'number') - this.styleObj.width = width; - else - this.styleObj.width = width + 'px'; -} - -// xbStyle.getVisibility() - -function cssStyleGetVisibility() -{ - return this.getEffectiveValue('visibility'); -} - -// xbStyle.setVisibility() - -function cssStyleSetVisibility(visibility) -{ - this.styleObj.visibility = visibility; -} - -// xbStyle.getzIndex() - -function cssStyleGetzIndex() -{ - return xbToInt(this.getEffectiveValue('zIndex')); -} - -// xbStyle.setzIndex() - -function cssStyleSetzIndex(zIndex) -{ - this.styleObj.zIndex = zIndex; -} - -// xbStyle.getBackgroundColor() - -function cssStyleGetBackgroundColor() -{ - return this.getEffectiveValue('backgroundColor'); -} - -// xbStyle.setBackgroundColor() - -function cssStyleSetBackgroundColor(color) -{ - this.styleObj.backgroundColor = color; -} - -// xbStyle.getColor() - -function cssStyleGetColor() -{ - return this.getEffectiveValue('color'); -} - -// xbStyle.setColor() - -function cssStyleSetColor(color) -{ - this.styleObj.color = color; -} - -// xbStyle.moveAbove() - -function xbStyleMoveAbove(cont) -{ - this.setzIndex(cont.getzIndex()+1); -} - -// xbStyle.moveBelow() - -function xbStyleMoveBelow(cont) -{ - var zindex = cont.getzIndex() - 1; - - this.setzIndex(zindex); -} - -// xbStyle.moveBy() - -function xbStyleMoveBy(deltaX, deltaY) -{ - this.moveTo(this.getLeft() + deltaX, this.getTop() + deltaY); -} - -// xbStyle.moveTo() - -function xbStyleMoveTo(x, y) -{ - this.setLeft(x); - this.setTop(y); -} - -// xbStyle.moveToAbsolute() - -function xbStyleMoveToAbsolute(x, y) -{ - this.setPageX(x); - this.setPageY(y); -} - -// xbStyle.resizeBy() - -function xbStyleResizeBy(deltaX, deltaY) -{ - this.setWidth( this.getWidth() + deltaX ); - this.setHeight( this.getHeight() + deltaY ); -} - -// xbStyle.resizeTo() - -function xbStyleResizeTo(x, y) -{ - this.setWidth(x); - this.setHeight(y); -} - -// xbStyle.setInnerHTML() - -function xbSetInnerHTML(str) -{ - if (typeof(this.object.innerHTML) != 'undefined') - this.object.innerHTML = str; -} - - -// Extensions to xbStyle that are not supported by Netscape Navigator 4 -// but that provide cross browser implementations of properties for -// Mozilla, Gecko, Netscape 6.x and Opera - -// xbStyle.getBorderTopWidth() - -function cssStyleGetBorderTopWidth() -{ - return xbToInt(this.getEffectiveValue('borderTopWidth')); -} - -// xbStyle.getBorderRightWidth() - -function cssStyleGetBorderRightWidth() -{ - return xbToInt(this.getEffectiveValue('borderRightWidth')); -} - -// xbStyle.getBorderBottomWidth() - -function cssStyleGetBorderBottomWidth() -{ - return xbToInt(this.getEffectiveValue('borderBottomWidth')); -} - -// xbStyle.getBorderLeftWidth() - -function cssStyleGetBorderLeftWidth() -{ - return xbToInt(this.getEffectiveValue('borderLeftWidth')); -} - -// xbStyle.getMarginTop() - -function cssStyleGetMarginTop() -{ - return xbToInt(this.getEffectiveValue('marginTop')); -} - -// xbStyle.getMarginRight() - -function cssStyleGetMarginRight() -{ - return xbToInt(this.getEffectiveValue('marginRight')); -} - -// xbStyle.getMarginBottom() - -function cssStyleGetMarginBottom() -{ - return xbToInt(this.getEffectiveValue('marginBottom')); -} - -// xbStyle.getMarginLeft() - -function cssStyleGetMarginLeft() -{ - return xbToInt(this.getEffectiveValue('marginLeft')); -} - -// xbStyle.getPaddingTop() - -function cssStyleGetPaddingTop() -{ - return xbToInt(this.getEffectiveValue('paddingTop')); -} - -// xbStyle.getPaddingRight() - -function cssStyleGetPaddingRight() -{ - return xbToInt(this.getEffectiveValue('paddingRight')); -} - -// xbStyle.getPaddingBottom() - -function cssStyleGetPaddingBottom() -{ - return xbToInt(this.getEffectiveValue('paddingBottom')); -} - -// xbStyle.getPaddingLeft() - -function cssStyleGetPaddingLeft() -{ - return xbToInt(this.getEffectiveValue('paddingLeft')); -} - -// xbStyle.getClientWidth() - -function cssStyleGetClientWidth() -{ - return this.getWidth() + this.getPaddingLeft() + this.getPaddingRight(); - /* - if (typeof(this.object.clientWidth) == 'number') - return this.object.clientWidth; - - return null; - */ -} - -// xbStyle.getClientHeight() - -function cssStyleGetClientHeight() -{ - return this.getHeight() + this.getPaddingTop() + this.getPaddingBottom(); - /* - if (typeof(this.object.clientHeight) == 'number') - return this.object.clientHeight; - - return null; - */ -} - -xbStyle.prototype.getClip = cssStyleGetClip; -xbStyle.prototype.setClip = cssStyleSetClip; -xbStyle.prototype.getClipTop = cssStyleGetClipTop; -xbStyle.prototype.setClipTop = cssStyleSetClipTop; -xbStyle.prototype.getClipRight = cssStyleGetClipRight; -xbStyle.prototype.setClipRight = cssStyleSetClipRight; -xbStyle.prototype.getClipBottom = cssStyleGetClipBottom; -xbStyle.prototype.setClipBottom = cssStyleSetClipBottom; -xbStyle.prototype.getClipLeft = cssStyleGetClipLeft; -xbStyle.prototype.setClipLeft = cssStyleSetClipLeft; -xbStyle.prototype.getClipWidth = cssStyleGetClipWidth; -xbStyle.prototype.setClipWidth = cssStyleSetClipWidth; -xbStyle.prototype.getClipHeight = cssStyleGetClipHeight; -xbStyle.prototype.setClipHeight = cssStyleSetClipHeight; -xbStyle.prototype.getLeft = cssStyleGetLeft; -xbStyle.prototype.setLeft = cssStyleSetLeft; -xbStyle.prototype.getTop = cssStyleGetTop; -xbStyle.prototype.setTop = cssStyleSetTop; -xbStyle.prototype.getPageX = cssStyleGetPageX; -xbStyle.prototype.setPageX = cssStyleSetPageX; -xbStyle.prototype.getPageY = cssStyleGetPageY; -xbStyle.prototype.setPageY = cssStyleSetPageY; -xbStyle.prototype.getVisibility = cssStyleGetVisibility; -xbStyle.prototype.setVisibility = cssStyleSetVisibility; -xbStyle.prototype.getzIndex = cssStyleGetzIndex; -xbStyle.prototype.setzIndex = cssStyleSetzIndex; -xbStyle.prototype.getHeight = cssStyleGetHeight; -xbStyle.prototype.setHeight = cssStyleSetHeight; -xbStyle.prototype.getWidth = cssStyleGetWidth; -xbStyle.prototype.setWidth = cssStyleSetWidth; -xbStyle.prototype.getBackgroundColor = cssStyleGetBackgroundColor; -xbStyle.prototype.setBackgroundColor = cssStyleSetBackgroundColor; -xbStyle.prototype.getColor = cssStyleGetColor; -xbStyle.prototype.setColor = cssStyleSetColor; -xbStyle.prototype.setInnerHTML = xbSetInnerHTML; -xbStyle.prototype.getBorderTopWidth = cssStyleGetBorderTopWidth; -xbStyle.prototype.getBorderRightWidth = cssStyleGetBorderRightWidth; -xbStyle.prototype.getBorderBottomWidth = cssStyleGetBorderBottomWidth; -xbStyle.prototype.getBorderLeftWidth = cssStyleGetBorderLeftWidth; -xbStyle.prototype.getMarginLeft = cssStyleGetMarginLeft; -xbStyle.prototype.getMarginTop = cssStyleGetMarginTop; -xbStyle.prototype.getMarginRight = cssStyleGetMarginRight; -xbStyle.prototype.getMarginBottom = cssStyleGetMarginBottom; -xbStyle.prototype.getMarginLeft = cssStyleGetMarginLeft; -xbStyle.prototype.getPaddingTop = cssStyleGetPaddingTop; -xbStyle.prototype.getPaddingRight = cssStyleGetPaddingRight; -xbStyle.prototype.getPaddingBottom = cssStyleGetPaddingBottom; -xbStyle.prototype.getPaddingLeft = cssStyleGetPaddingLeft; -xbStyle.prototype.getClientWidth = cssStyleGetClientWidth; -xbStyle.prototype.getClientHeight = cssStyleGetClientHeight; - diff --git a/slides/browser/xbStyle-nn4.js b/slides/browser/xbStyle-nn4.js deleted file mode 100644 index 03aacff..0000000 --- a/slides/browser/xbStyle-nn4.js +++ /dev/null @@ -1,485 +0,0 @@ -/* - * xbStyle-nn4.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:22 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -///////////////////////////////////////////////////////////// -// xbStyle.getClip() - -function nsxbStyleGetClip() -{ - var clip = this.styleObj.clip; - var rect = new xbClipRect(clip.top, clip.right, clip.bottom, clip.left); - return rect.toString(); -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClip() - -function nsxbStyleSetClip(sClipString) -{ - var rect = new xbClipRect(sClipString); - this.styleObj.clip.top = rect.top; - this.styleObj.clip.right = rect.right; - this.styleObj.clip.bottom = rect.bottom; - this.styleObj.clip.left = rect.left; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipTop() - -function nsxbStyleGetClipTop() -{ - return this.styleObj.clip.top; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipTop() - -function nsxbStyleSetClipTop(top) -{ - return this.styleObj.clip.top = top; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipRight() - -function nsxbStyleGetClipRight() -{ - return this.styleObj.clip.right; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipRight() - -function nsxbStyleSetClipRight(right) -{ - return this.styleObj.clip.right = right; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipBottom() - -function nsxbStyleGetClipBottom() -{ - return this.styleObj.clip.bottom; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipBottom() - -function nsxbStyleSetClipBottom(bottom) -{ - return this.styleObj.clip.bottom = bottom; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipLeft() - -function nsxbStyleGetClipLeft() -{ - return this.styleObj.clip.left; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipLeft() - -function nsxbStyleSetClipLeft(left) -{ - return this.styleObj.clip.left = left; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipWidth() - -function nsxbStyleGetClipWidth() -{ - return this.styleObj.clip.width; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipWidth() - -function nsxbStyleSetClipWidth(width) -{ - return this.styleObj.clip.width = width; -} - -///////////////////////////////////////////////////////////// -// xbStyle.getClipHeight() - -function nsxbStyleGetClipHeight() -{ - return this.styleObj.clip.height; -} - -///////////////////////////////////////////////////////////// -// xbStyle.setClipHeight() - -function nsxbStyleSetClipHeight(height) -{ - return this.styleObj.clip.height = height; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getLeft() - -function nsxbStyleGetLeft() -{ - return this.styleObj.left; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setLeft() - -function nsxbStyleSetLeft(left) -{ - this.styleObj.left = left; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getTop() - -function nsxbStyleGetTop() -{ - return this.styleObj.top; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setTop() - -function nsxbStyleSetTop(top) -{ - this.styleObj.top = top; -} - - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getPageX() - -function nsxbStyleGetPageX() -{ - return this.styleObj.pageX; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setPageX() - -function nsxbStyleSetPageX(x) -{ - this.styleObj.x = this.styleObj.x + x - this.styleObj.pageX; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getPageY() - - -function nsxbStyleGetPageY() -{ - return this.styleObj.pageY; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setPageY() - -function nsxbStyleSetPageY(y) -{ - this.styleObj.y = this.styleObj.y + y - this.styleObj.pageY; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getHeight() - -function nsxbStyleGetHeight() -{ - //if (this.styleObj.document && this.styleObj.document.height) - // return this.styleObj.document.height; - - return this.styleObj.clip.height; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setHeight() - -function nsxbStyleSetHeight(height) -{ - this.styleObj.clip.height = height; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getWidth() - -function nsxbStyleGetWidth() -{ - //if (this.styleObj.document && this.styleObj.document.width) - // return this.styleObj.document.width; - - return this.styleObj.clip.width; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setWidth() - -// netscape will not dynamically change the width of a -// layer. It will only happen upon a refresh. -function nsxbStyleSetWidth(width) -{ - this.styleObj.clip.width = width; -} - -///////////////////////////////////////////////////////////////////////////// - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getVisibility() - -function nsxbStyleGetVisibility() -{ - switch(this.styleObj.visibility) - { - case 'hide': - return 'hidden'; - case 'show': - return 'visible'; - } - return ''; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setVisibility() - -function nsxbStyleSetVisibility(visibility) -{ - switch(visibility) - { - case 'hidden': - visibility = 'hide'; - break; - case 'visible': - visibility = 'show'; - break; - case 'inherit': - break; - default: - visibility = 'show'; - break; - } - this.styleObj.visibility = visibility; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getzIndex() - -function nsxbStyleGetzIndex() -{ - return this.styleObj.zIndex; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setzIndex() - -function nsxbStyleSetzIndex(zIndex) -{ - this.styleObj.zIndex = zIndex; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getBackgroundColor() - -function nsxbStyleGetBackgroundColor() -{ - return this.styleObj.bgColor; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setBackgroundColor() - -function nsxbStyleSetBackgroundColor(color) -{ - if (color) - { - this.styleObj.bgColor = color; - this.object.document.bgColor = color; - this.resizeTo(this.getWidth(), this.getHeight()); - } -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.getColor() - -function nsxbStyleGetColor() -{ - return '#ffffff'; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setColor() - -function nsxbStyleSetColor(color) -{ - this.object.document.fgColor = color; -} - - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveAbove() - -function xbStyleMoveAbove(cont) -{ - this.setzIndex(cont.getzIndex()+1); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveBelow() - -function xbStyleMoveBelow(cont) -{ - var zindex = cont.getzIndex() - 1; - - this.setzIndex(zindex); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveBy() - -function xbStyleMoveBy(deltaX, deltaY) -{ - this.moveTo(this.getLeft() + deltaX, this.getTop() + deltaY); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveTo() - -function xbStyleMoveTo(x, y) -{ - this.setLeft(x); - this.setTop(y); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveToAbsolute() - -function xbStyleMoveToAbsolute(x, y) -{ - this.setPageX(x); - this.setPageY(y); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.resizeBy() - -function xbStyleResizeBy(deltaX, deltaY) -{ - this.setWidth( this.getWidth() + deltaX ); - this.setHeight( this.getHeight() + deltaY ); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.resizeTo() - -function xbStyleResizeTo(x, y) -{ - this.setWidth(x); - this.setHeight(y); -} - -//////////////////////////////////////////////////////////////////////// -// Navigator 4.x resizing... - -function nsxbStyleOnresize() -{ - if (saveInnerWidth != xbGetWindowWidth() || saveInnerHeight != xbGetWindowHeight()) - location.reload(); - - return false; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.setInnerHTML() - -function nsxbSetInnerHTML(str) -{ - this.object.document.open('text/html'); - this.object.document.write(str); - this.object.document.close(); -} - -xbStyle.prototype.getClip = nsxbStyleGetClip; -xbStyle.prototype.setClip = nsxbStyleSetClip; -xbStyle.prototype.getClipTop = nsxbStyleGetClipTop; -xbStyle.prototype.setClipTop = nsxbStyleSetClipTop; -xbStyle.prototype.getClipRight = nsxbStyleGetClipRight; -xbStyle.prototype.setClipRight = nsxbStyleSetClipRight; -xbStyle.prototype.getClipBottom = nsxbStyleGetClipBottom; -xbStyle.prototype.setClipBottom = nsxbStyleSetClipBottom; -xbStyle.prototype.getClipLeft = nsxbStyleGetClipLeft; -xbStyle.prototype.setClipLeft = nsxbStyleSetClipLeft; -xbStyle.prototype.getClipWidth = nsxbStyleGetClipWidth; -xbStyle.prototype.setClipWidth = nsxbStyleSetClipWidth; -xbStyle.prototype.getClipHeight = nsxbStyleGetClipHeight; -xbStyle.prototype.setClipHeight = nsxbStyleSetClipHeight; -xbStyle.prototype.getLeft = nsxbStyleGetLeft; -xbStyle.prototype.setLeft = nsxbStyleSetLeft; -xbStyle.prototype.getTop = nsxbStyleGetTop; -xbStyle.prototype.setTop = nsxbStyleSetTop; -xbStyle.prototype.getPageX = nsxbStyleGetPageX; -xbStyle.prototype.setPageX = nsxbStyleSetPageX; -xbStyle.prototype.getPageY = nsxbStyleGetPageY; -xbStyle.prototype.setPageY = nsxbStyleSetPageY; -xbStyle.prototype.getVisibility = nsxbStyleGetVisibility; -xbStyle.prototype.setVisibility = nsxbStyleSetVisibility; -xbStyle.prototype.getzIndex = nsxbStyleGetzIndex; -xbStyle.prototype.setzIndex = nsxbStyleSetzIndex; -xbStyle.prototype.getHeight = nsxbStyleGetHeight; -xbStyle.prototype.setHeight = nsxbStyleSetHeight; -xbStyle.prototype.getWidth = nsxbStyleGetWidth; -xbStyle.prototype.setWidth = nsxbStyleSetWidth; -xbStyle.prototype.getBackgroundColor = nsxbStyleGetBackgroundColor; -xbStyle.prototype.setBackgroundColor = nsxbStyleSetBackgroundColor; -xbStyle.prototype.getColor = nsxbStyleGetColor; -xbStyle.prototype.setColor = nsxbStyleSetColor; -xbStyle.prototype.setInnerHTML = nsxbSetInnerHTML; -xbStyle.prototype.getBorderTopWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderRightWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderBottomWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderLeftWidth = xbStyleNotSupported; -xbStyle.prototype.getMarginLeft = xbStyleNotSupported; -xbStyle.prototype.getMarginTop = xbStyleNotSupported; -xbStyle.prototype.getMarginRight = xbStyleNotSupported; -xbStyle.prototype.getMarginBottom = xbStyleNotSupported; -xbStyle.prototype.getMarginLeft = xbStyleNotSupported; -xbStyle.prototype.getPaddingTop = xbStyleNotSupported; -xbStyle.prototype.getPaddingRight = xbStyleNotSupported; -xbStyle.prototype.getPaddingBottom = xbStyleNotSupported; -xbStyle.prototype.getPaddingLeft = xbStyleNotSupported; -xbStyle.prototype.getClientWidth = xbStyleNotSupported; -xbStyle.prototype.getClientHeight = xbStyleNotSupported; - -window.saveInnerWidth = window.innerWidth; -window.saveInnerHeight = window.innerHeight; - -window.onresize = nsxbStyleOnresize; - diff --git a/slides/browser/xbStyle-not-supported.js b/slides/browser/xbStyle-not-supported.js deleted file mode 100644 index 06c4a60..0000000 --- a/slides/browser/xbStyle-not-supported.js +++ /dev/null @@ -1,77 +0,0 @@ -/* - * xbStyle-not-supported.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:22 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -xbStyle.prototype.toString = xbStyleNotSupported; -xbStyle.prototype.getClip = xbStyleNotSupported; -xbStyle.prototype.setClip = xbStyleNotSupported; -xbStyle.prototype.getClipTop = xbStyleNotSupported; -xbStyle.prototype.setClipTop = xbStyleNotSupported; -xbStyle.prototype.getClipRight = xbStyleNotSupported; -xbStyle.prototype.setClipRight = xbStyleNotSupported; -xbStyle.prototype.getClipBottom = xbStyleNotSupported; -xbStyle.prototype.setClipBottom = xbStyleNotSupported; -xbStyle.prototype.getClipLeft = xbStyleNotSupported; -xbStyle.prototype.setClipLeft = xbStyleNotSupported; -xbStyle.prototype.getClipWidth = xbStyleNotSupported; -xbStyle.prototype.setClipWidth = xbStyleNotSupported; -xbStyle.prototype.getClipHeight = xbStyleNotSupported; -xbStyle.prototype.setClipHeight = xbStyleNotSupported; -xbStyle.prototype.getLeft = xbStyleNotSupported; -xbStyle.prototype.setLeft = xbStyleNotSupported; -xbStyle.prototype.getTop = xbStyleNotSupported; -xbStyle.prototype.setTop = xbStyleNotSupported; -xbStyle.prototype.getVisibility = xbStyleNotSupported; -xbStyle.prototype.setVisibility = xbStyleNotSupported; -xbStyle.prototype.getzIndex = xbStyleNotSupported; -xbStyle.prototype.setzIndex = xbStyleNotSupported; -xbStyle.prototype.getHeight = xbStyleNotSupported; -xbStyle.prototype.setHeight = xbStyleNotSupported; -xbStyle.prototype.getWidth = xbStyleNotSupported; -xbStyle.prototype.setWidth = xbStyleNotSupported; -xbStyle.prototype.getBackgroundColor = xbStyleNotSupported; -xbStyle.prototype.setBackgroundColor = xbStyleNotSupported; -xbStyle.prototype.getColor = xbStyleNotSupported; -xbStyle.prototype.setColor = xbStyleNotSupported; -xbStyle.prototype.setInnerHTML = xbStyleNotSupported; -xbStyle.prototype.getBorderTopWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderRightWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderBottomWidth = xbStyleNotSupported; -xbStyle.prototype.getBorderLeftWidth = xbStyleNotSupported; -xbStyle.prototype.getMarginLeft = xbStyleNotSupported; -xbStyle.prototype.getMarginTop = xbStyleNotSupported; -xbStyle.prototype.getMarginRight = xbStyleNotSupported; -xbStyle.prototype.getMarginBottom = xbStyleNotSupported; -xbStyle.prototype.getMarginLeft = xbStyleNotSupported; -xbStyle.prototype.getPaddingTop = xbStyleNotSupported; -xbStyle.prototype.getPaddingRight = xbStyleNotSupported; -xbStyle.prototype.getPaddingBottom = xbStyleNotSupported; -xbStyle.prototype.getPaddingLeft = xbStyleNotSupported; -xbStyle.prototype.getClientWidth = xbStyleNotSupported; -xbStyle.prototype.getClientHeight = xbStyleNotSupported; - diff --git a/slides/browser/xbStyle.js b/slides/browser/xbStyle.js deleted file mode 100644 index 672ff03..0000000 --- a/slides/browser/xbStyle.js +++ /dev/null @@ -1,295 +0,0 @@ -/* - * xbStyle.js - * $Revision: 1.2 $ $Date: 2003/02/07 16:04:22 $ - */ - -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Netscape code. - * - * The Initial Developer of the Original Code is - * Netscape Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): Bob Clary <bclary@netscape.com> - * - * ***** END LICENSE BLOCK ***** */ - -function xbStyleNotSupported() {} - -function xbStyleNotSupportStringValue(propname) { xbDEBUG.dump(propname + ' is not supported in this browser'); return '';}; - -///////////////////////////////////////////////////////////// -// xbClipRect - -function xbClipRect(a1, a2, a3, a4) -{ - this.top = 0; - this.right = 0; - this.bottom = 0; - this.left = 0; - - if (typeof(a1) == 'string') - { - var val; - var ca; - var i; - - if (a1.indexOf('rect(') == 0) - { - // I would have preferred [0-9]+[a-zA-Z]+ for a regexp - // but NN4 returns null for that. - ca = a1.substring(5, a1.length-1).match(/-?[0-9a-zA-Z]+/g); - for (i = 0; i < 4; ++i) - { - val = xbToInt(ca[i]); - if (val != 0 && ca[i].indexOf('px') == -1) - { - xbDEBUG.dump('xbClipRect: A clipping region ' + a1 + ' was detected that did not use pixels as units. Click Ok to continue, Cancel to Abort'); - return; - } - ca[i] = val; - } - this.top = ca[0]; - this.right = ca[1]; - this.bottom = ca[2]; - this.left = ca[3]; - } - } - else if (typeof(a1) == 'number' && typeof(a2) == 'number' && typeof(a3) == 'number' && typeof(a4) == 'number') - { - this.top = a1; - this.right = a2; - this.bottom = a3; - this.left = a4; - } -} - -xbClipRect.prototype.top = 0; -xbClipRect.prototype.right = 0; -xbClipRect.prototype.bottom = 0; -xbClipRect.prototype.left = 0; - - -function xbClipRectGetWidth() -{ - return this.right - this.left; -} -xbClipRect.prototype.getWidth = xbClipRectGetWidth; - -function xbClipRectSetWidth(width) -{ - this.right = this.left + width; -} -xbClipRect.prototype.setWidth = xbClipRectSetWidth; - -function xbClipRectGetHeight() -{ - return this.bottom - this.top; -} -xbClipRect.prototype.getHeight = xbClipRectGetHeight; - -function xbClipRectSetHeight(height) -{ - this.bottom = this.top + height; -} -xbClipRect.prototype.setHeight = xbClipRectSetHeight; - -function xbClipRectToString() -{ - return 'rect(' + this.top + 'px ' + this.right + 'px ' + this.bottom + 'px ' + this.left + 'px )' ; -} -xbClipRect.prototype.toString = xbClipRectToString; - -///////////////////////////////////////////////////////////// -// xbStyle -// -// Note Opera violates the standard by cascading the effective values -// into the HTMLElement.style object. We can use IE's HTMLElement.currentStyle -// to get the effective values. In Gecko we will use the W3 DOM Style Standard getComputedStyle - -function xbStyle(obj, win, position) -{ - if (typeof(obj) == 'object' && typeof(obj.style) != 'undefined') - this.styleObj = obj.style; - else if (document.layers) // NN4 - { - if (typeof(position) == 'undefined') - position = ''; - - this.styleObj = obj; - this.styleObj.position = position; - } - this.object = obj; - this.window = win ? win : window; -} - -xbStyle.prototype.styleObj = null; -xbStyle.prototype.object = null; - -///////////////////////////////////////////////////////////// -// xbStyle.getEffectiveValue() -// note that xbStyle's constructor uses the currentStyle object -// for IE5+ and that Opera's style object contains computed values -// already. Netscape Navigator's layer object also contains the -// computed values as well. Note that IE4 will not return the -// computed values. - -function xbStyleGetEffectiveValue(propname) -{ - var value = null; - - if (this.window.document.defaultView && this.window.document.defaultView.getComputedStyle) - { - // W3 - // Note that propname is the name of the property in the CSS Style - // Object. However the W3 method getPropertyValue takes the actual - // property name from the CSS Style rule, i.e., propname is - // 'backgroundColor' but getPropertyValue expects 'background-color'. - - var capIndex; - var cappropname = propname; - - while ( (capIndex = cappropname.search(/[A-Z]/)) != -1) - { - if (capIndex != -1) - { - cappropname = cappropname.substring(0, capIndex) + '-' + cappropname.substring(capIndex, capIndex+1).toLowerCase() + cappropname.substr(capIndex+1); - } - } - - value = this.window.document.defaultView.getComputedStyle(this.object, '').getPropertyValue(cappropname); - - // xxxHack for Gecko: - if (!value && this.styleObj[propname]) - { - value = this.styleObj[propname]; - } - } - else if (typeof(this.styleObj[propname]) == 'undefined') - { - value = xbStyleNotSupportStringValue(propname); - } - else if (typeof(this.object.currentStyle) != 'undefined') - { - // IE5+ - value = this.object.currentStyle[propname]; - if (!value) - { - value = this.styleObj[propname]; - } - - if (propname == 'clip' && !value) - { - // clip is not stored in IE5/6 handle separately - value = 'rect(' + this.object.currentStyle.clipTop + ', ' + this.object.currentStyle.clipRight + ', ' + this.object.currentStyle.clipBottom + ', ' + this.object.currentStyle.clipLeft + ')'; - } - } - else - { - // IE4+, Opera, NN4 - value = this.styleObj[propname]; - } - - return value; -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveAbove() - -function xbStyleMoveAbove(cont) -{ - this.setzIndex(cont.getzIndex()+1); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveBelow() - -function xbStyleMoveBelow(cont) -{ - var zindex = cont.getzIndex() - 1; - - this.setzIndex(zindex); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveBy() - -function xbStyleMoveBy(deltaX, deltaY) -{ - this.moveTo(this.getLeft() + deltaX, this.getTop() + deltaY); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveTo() - -function xbStyleMoveTo(x, y) -{ - this.setLeft(x); - this.setTop(y); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.moveToAbsolute() - -function xbStyleMoveToAbsolute(x, y) -{ - this.setPageX(x); - this.setPageY(y); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.resizeBy() - -function xbStyleResizeBy(deltaX, deltaY) -{ - this.setWidth( this.getWidth() + deltaX ); - this.setHeight( this.getHeight() + deltaY ); -} - -///////////////////////////////////////////////////////////////////////////// -// xbStyle.resizeTo() - -function xbStyleResizeTo(x, y) -{ - this.setWidth(x); - this.setHeight(y); -} - -//////////////////////////////////////////////////////////////////////// - -xbStyle.prototype.getEffectiveValue = xbStyleGetEffectiveValue; -xbStyle.prototype.moveAbove = xbStyleMoveAbove; -xbStyle.prototype.moveBelow = xbStyleMoveBelow; -xbStyle.prototype.moveBy = xbStyleMoveBy; -xbStyle.prototype.moveTo = xbStyleMoveTo; -xbStyle.prototype.moveToAbsolute = xbStyleMoveToAbsolute; -xbStyle.prototype.resizeBy = xbStyleResizeBy; -xbStyle.prototype.resizeTo = xbStyleResizeTo; - -if (document.all || document.getElementsByName) -{ - xblibrary.loadScript('xbStyle-css.js'); -} -else if (document.layers) -{ - xblibrary.loadScript('xbStyle-nn4.js'); -} -else -{ - xblibrary.loadScript('xbStyle-not-supported.js'); -} - - |