Introducing DOCJSLIB Version 3.0: Page Watermarks - Doc JavaScript | WebReference

Introducing DOCJSLIB Version 3.0: Page Watermarks - Doc JavaScript


The Page Watermarks Code


<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Avoid old browsers-->
// --- Cut -- 'N -- Paste --- from Here
// Copyright (c) 2000 internet.com Corp.
// http://www.webreference.com/js/
// License is granted if and only if this entire
// copyright notice is included. By Yehuda Shiran.
// Begin DOCJSLIB version 3.1. Released Novemeber 12, 1998.
// This is DOCJSLIB library.
// It begins in this comment and continues until the matching comment
// The matching comment is "End DOCJSLIB ...".
// It should not be normally touched.
// docjslib is a cross-browser library.
// You should not worry about the browser in your code.
// This version includes the following functions (numbers to the left
//      designate version of DOCJSLIB where first introduced:
//   3.1 fix a bug in findHighestZ (change () to [] for documentDivs)
//   3.0 docjslib_doThisCommandEveryIntervalMS (executes a command every
//     inteval)
//   3.0 docjslib_getWindowWidth (gets the width of the browser's window,
//     in pixels)
//   3.0 docjslib_getWindowHeight (gets the height of the window, in pixels)
//   3.0 docjslib_getPageScrollLeft (gets the width of the scrolled area,
//     pixels)
//   3.0 docjslib_getPageScrollTop (get the height of the scrolled area,
//     pixels)
//   1.0 docjslib_getSrc (gets the image's URL of a DHTML element, url)
//   1.0 docjslib_setSrc (sets the image's URL of a DHTML element)
//   2.0 docjslib_getWidth (gets the DHTML element's width, pixels)
//   2.0 docjslib_getVisibility (gets the DHTML element's visibility,
//     true or false)
//   2.0 docjslib_setVisibility (sets the DHTML element's visibility,
//     true or false)
//   2.0 docjslib_setPosFromLeft (sets the DHTML element's horiz.
//     position, pixels from left)
//   3.0 docjslib_setPosFromTop (sets the DHTML element's verticalposition,
//     pixels position, pixels from TOP)
//   2.0 docjslib_setZposition (set the Z position of the DHTML element,
//     integer)
//   3.0 docjslib_findHighestZ (find the highest Z of all pages's DHTML
//     elements)
//   1.0 docjslib_makeClickedImage (creates an image-based DHTML element
//     with event handling capability)
//   3.0 docjslib_makeLinkedImage (creates an image-based DHTML element
//     with a built-in link to a developer-specified location)
//   2.0 docjslib_makeBox (creates a DHTML container)
//
var IE4 = (document.all) ? true : false;
var NS4 = (document.layers) ? true : false;
function docjslib_doThisCommandEveryIntervalMS(command, interval) {
  setInterval(eval('"' + command + '"'), interval);
}
function docjslib_getWindowWidth() {
  if (NS4) {return window.innerWidth}
  else {return document.body.clientWidth}
}
function docjslib_getWindowHeight() {
  if (NS4) {return window.innerHeight}
  else {return document.body.clientHeight}
}
function docjslib_getPageScrollLeft() {
  if (NS4) {return window.pageXOffset}
  else {return document.body.scrollLeft}
}
function docjslib_getPageScrollTop() {
  if (NS4) {return window.pageYOffset}
  else {return document.body.scrollTop}
}
function docjslib_getSrc(id) {
  if (NS4) {return eval("document." + id + ".document." + id + "img.src")}
  else {return eval("document.all." + id + "img.src")}
}
function docjslib_setSrc(id, url) {
  if (NS4) {eval("document." + id + ".document." + id + "img").src = url}
  else {eval("document.all." + id + "img").src = url}
}
function docjslib_getWidth(id) {
  if (NS4) {return eval("document." + id + ".clip.width")}
  else {return eval("document.all." + id + ".style.pixelWidth")}
}
function docjslib_getVisibility(id) {
  if (NS4) {
    if (eval("document." + id).visibility == "show") return true
    else return false;
  }
  else {
   if (eval("document.all." + id).style.visibility == "visible") return true
    else return false;
  }
}
function docjslib_setVisibility(id, flag) {
  if (NS4) {
    var str = (flag) ? 'show' : 'hide';
    eval("document." + id).visibility = str;
  }
  else {
    var str = (flag) ? 'visible' : 'hidden';
    eval("document.all." + id).style.visibility = str;
  }
}
function docjslib_setPosFromLeft(id, xCoord) {
  if (NS4) {eval("document." + id).left = xCoord}
  else {eval("document.all." + id).style.left = xCoord}
}
function docjslib_setPosFromTop(id, yCoord) {
  if (NS4) {eval("document." + id).top = yCoord}
  else {eval("document.all." + id).style.top = yCoord}
}
function docjslib_setZposition(id, z) {
  if (NS4) {eval("document." + id).zIndex = z}
  else {eval("document.all." + id).style.zIndex = z}
}
function docjslib_findHighestZ() {
  var documentDivs = new Array();
  if (NS4) {documentDivs = document.layers}
  else {documentDivs = document.all.tags("DIV")};
  var highestZ = 0;
  for (var i = 0; i < documentDivs.length; i++) {
     var zIndex = (NS4) ? documentDivs[i].zIndex :
      documentDivs[i].style.zIndex;
  // (The above two lines should be joined as one line.
  // They have been split for formatting purposes.)
     highestZ = (zIndex > highestZ) ? zIndex : highestZ;
  }
  return highestZ;
}
function docjslib_makeClickedImage(imgID,          // given id
                   imgURL,         // image URL
                   imgHeight,      // image height
                   imgWidth,       // image width
                   imgAlt,         // alternative image
                   posFromLeft,    // absolute position from left of window
                   posFromTop,     // absolute position from top of window
                   clickParam1,    // parameter passed to "onclick" handler
                   clickParam2)    // parameter passed to "onclick" handler
  {
  document.write(
    '<STYLE TYPE="text/css">',
    '#', imgID, ' {',
      'position: absolute;',
      'left: ', posFromLeft, ';',
      'top: ', posFromTop, ';',
      'width: ', imgWidth, ';',
      'z-index: 1',
    '}',
    '</STYLE>',
    '<DIV ID="', imgID, '">',
    '<A HREF="javascript:', "handleImageClick('", imgID, "'", ',',
    clickParam1, ',', clickParam2, ')">',
    '<IMG NAME="', imgID, 'img" ID="', imgID, 'img" SRC="', imgURL,
    '" ALT="', imgAlt, '" BORDER="0" ', 'HEIGHT="', imgHeight,
    '" WIDTH="', imgWidth, '">', '</A></DIV>'
  );
}
function docjslib_makeLinkedImage(imgID,    // given id
                   imgURL,         // image URL
                   linkURL,        // link URL
                   imgHeight,      // image height
                   imgWidth,       // image width
                   imgAlt,         // alternative image
                   posFromLeft,    // absolute position from left of window
                   posFromTop,     // absolute position from top of window
                   imgVisibility,  // image visibility  (true of false)
                   imgZindex)      // image Z index
  {
  var visibility = (imgVisibility) ? 'visible' : 'hidden';
  document.write(
    '<STYLE TYPE="text/css">',
    '#', imgID, ' {',
      'position: absolute;',
      'visibility: ', visibility, ';',
      'left: ', posFromLeft, ';',
      'top: ', posFromTop, ';',
      'width: ', imgWidth, ';',
      'z-index:', imgZindex,
    '}',
    '</STYLE>',
    '<DIV ID="', imgID, '">',
    '<A HREF="', linkURL, '">',
    '<IMG NAME="', imgID, 'img" ID="', imgID, 'img" SRC="', imgURL,
    '" ALT="', imgAlt, '" BORDER="0" ', 'HEIGHT="', imgHeight,
    '" WIDTH="', imgWidth, '">', '</A></DIV>'
  );
}
function docjslib_makeBox(boxID, // given id
                 htmlFiller,     // HTML filler
                 boxWidth,       // box width
                 posFromLeft,    // absolute position from left of window
                 posFromTop,     // absolute position from top of window
                 boxBg,          // box background color
                 boxColor,       // html filler text color
                 boxVisibility)  // visibility
 {
  var padding = (NS4) ? '' : 'padding: 3 0 3 3;';
  var visibility = (boxVisibility) ? 'visible' : 'hidden';
  document.write(
    '<STYLE TYPE="text/css">',
    '#', boxID, ' {',
      'position: absolute;',
      'left: ', posFromLeft, '; top: ', posFromTop, ';',
      'width: ', boxWidth, ';',
      'layer-background-color: ', boxBg, ';',
      'background-color: ', boxBg, ';',
      'visibility: ', visibility, ';',
      'border-width: 2;',
      'border-style: solid;',
      'border-color: ', boxColor, ';',
      padding,
      'z-index: 1',
    '}',
    '</STYLE>',
    '<DIV ID="', boxID, '">',
    htmlFiller,
    '</DIV>'
  );
}
//
// End DOCJSLIB Version 3.1
//
// --- Cut -- 'N -- Paste --- Up to Here
var windowWidth= 0;
var windowHeight= 0;
var pageScrollLeft= 0;
var pageScrollTop= 0;
var imageWidth= 147;
var imageHeight= 17;
var rightSpacer= 17;
var bottomSpacer= 25;
function waterMark(){
  if (navigator.appVersion.indexOf("Mac") == -1){
    oldWindowWidth= windowWidth;
    oldWindowHeight= windowHeight;
    oldPageScrollLeft= pageScrollLeft;
    oldPageScrollTop= pageScrollTop;
    windowWidth = docjslib_getWindowWidth();
    windowHeight = docjslib_getWindowHeight();
    pageScrollLeft = docjslib_getPageScrollLeft();
    pageScrollTop = docjslib_getPageScrollTop();
    if ((windowHeight != oldWindowHeight)||(windowWidth !=
      oldWindowWidth)||(pageScrollLeft != oldPageScrollLeft)||
      (pageScrollTop != oldPageScrollTop)){
      docjslib_setPosFromTop("docjslib", windowHeight + pageScrollTop -
                            (imageHeight + bottomSpacer));
      docjslib_setPosFromLeft("docjslib", windowWidth + pageScrollLeft -
                            (imageWidth + rightSpacer));
      var topZ = docjslib_findHighestZ();
      docjslib_setZposition("docjslib", topZ);
    }
  }
}
docjslib_makeLinkedImage("docjslib",             // id
              "docjslib.gif",                    // image URL
              "http://www.webreference.com/js",  // link URL
              27,                                // height
              147,                               // width
              "Click here for all Doc JavaScript Columns",  // alternative
              1000,                           // position from left
              1000,                           // position from top
              true,                           // visibility
              0);                             // z index
docjslib_doThisCommandEveryIntervalMS("waterMark()", 100);
// -->
</SCRIPT>

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

Created: November 9, 1998
Revised: November 12, 1998

URL: http://www.webreference.com/js/column29/code3.html