]> git.stg.codes - stg.git/blobdiff - doc/help/xslt/slides/browser/xbDOM.js
DocBook documentation stub added
[stg.git] / doc / help / xslt / slides / browser / xbDOM.js
diff --git a/doc/help/xslt/slides/browser/xbDOM.js b/doc/help/xslt/slides/browser/xbDOM.js
new file mode 100644 (file)
index 0000000..39cc8bf
--- /dev/null
@@ -0,0 +1,374 @@
+/*
+ * 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