
//*****************************************************
// Copyright:  © 2001 M H Payet
//
// File:       libImg.js
// Language:	JavaScript
// Developer:  MHP
// Date:       Apr 2001
//
// Description:
//    Personal Website - image-related functions.
//    To be included on all web pages.
//    Needs LibMain.js included beforehand.
//*****************************************************

var graphicsDir = "graphics/";
var buttonsDir = "graphics/buttons/";

var loadImagesOK = false;

//=====================================================
// Initialize page images on body loading.
//=====================================================

function initPageImages() {
   // Check that the 'document.images' object is available.
   // Also, if browser version is OK for JavaScript 1.2+ then code can be
   // used. 

   if ((browserVer4plus) && (document.images))  loadImagesOK = true;
   startGlide();
   setupNavImages();
}

//=====================================================
// Images arrays.
//=====================================================

// Used on all web pages for common navigation bar.

var overImg = new Array();
var upImg = new Array();
var downImg = new Array();
var liveImg = new Array();

//=====================================================
// Navigation bar buttons handling routines.
//=====================================================

function setupNavImages() {
   if (loadImagesOK) {
      // Create arrays to hold images.

      var numOfNavButtons = 4;
      var buttonWidth = 151;
      var buttonHeight = 28;

      for (i=0; i < numOfNavButtons; i++) {
         overImg[i] = new Image(buttonWidth, buttonHeight);
         upImg[i] = new Image(buttonWidth, buttonHeight);
         downImg[i] = new Image(buttonWidth, buttonHeight);
         liveImg[i] = new Image(buttonWidth, buttonHeight);
      }

      // Preload images in the array

      // Mouse over button.

      overImg[0].src = buttonsDir + "HomeOver.gif";
      overImg[1].src = buttonsDir + "CrafOver.gif";
      overImg[2].src = buttonsDir + "SiteOver.gif";
      overImg[3].src = buttonsDir + "ConOver.gif";

      // Mouse up button.

      upImg[0].src = buttonsDir + "HomeUp.gif";
      upImg[1].src = buttonsDir + "CrafUp.gif";
      upImg[2].src = buttonsDir + "SiteUp.gif";
      upImg[3].src = buttonsDir + "ConUp.gif";

      // Mouse down button.

      downImg[0].src = buttonsDir + "HomeDown.gif";
      downImg[1].src = buttonsDir + "CrafDown.gif";
      downImg[2].src = buttonsDir + "SiteDown.gif";
      downImg[3].src = buttonsDir + "ConDown.gif";

      // Highlighted button on page being displayed.

      liveImg[0].src = buttonsDir + "HomeLive.gif";
      liveImg[1].src = buttonsDir + "CrafLive.gif";
      liveImg[2].src = buttonsDir + "SiteLive.gif";
      liveImg[3].src = buttonsDir + "ConLive.gif";
   }
}

function rolloverImage(img, type) {
   if (loadImagesOK) {
      // Need to distinguish between browsers as MSIE does not seem to accept
      // the 'document' object before the eval statement.

      if (type == "over") {
         if (browserID == "MSIE")      eval("button" + img).src = overImg[img].src;
         else if (browserID == "NN")   document.eval("button" + img).src = overImg[img].src;
      }
      else if (type == "up") {
         if (browserID == "MSIE")      eval("button" + img).src = upImg[img].src;
         else if (browserID == "NN")   document.eval("button" + img).src = upImg[img].src;
      }
      else if (type == "down") {
         if (browserID == "MSIE")      eval("button" + img).src = downImg[img].src;
         else if (browserID == "NN")   document.eval("button" + img).src = downImg[img].src;
      }
      else if (type == "live") {
         // This will display on the page currently being shown.

         if (browserID == "MSIE")      eval("button" + img).src = liveImg[img].src;
         else if (browserID == "NN")   document.eval("button" + img).src = liveImg[img].src;
      }
   }
}

//=====================================================
// header Glider.
//=====================================================

var glideID = "";
var doGlide = false;

function startGlide() {
   // If MSIE or NN browser, CSS and JavaScript enabled, the header will
   // glide in from the right margin and display right-justified.  Otherwise,
   // the header will simply be displayed left-justified.

   // Function is restricted to JavaScript 1.2+ as many of the commands used
   // here were introduced from JavaScript 1.2.

   // Ensure that the 'document.(all.)glider' object is active to execute
   // code correctly.

   // If NN 7.1, do not do glide at all, otherwise do glide only on Home page.

   if ((document.URL.indexOf('welcome.htm') != -1) && ((browserID == "MSIE") || ((browserID == "NN") && (browserVer < 5.0)))) doGlide = true;

   if ((browserID == "MSIE") && (document.all.glider)) {
      if (doGlide) document.all.glider.style.pixelLeft = 400;
      document.all.glider.style.visibility = "visible";
   }
   else if ((browserID == "NN") && (document.glider)) {
      if (doGlide) document.glider.left = 400;
      document.glider.visibility = "visible";
   }

   // Call 'glide' function every 50 milliseconds - restricted to
   // JavaScript 1.2+ enabled browsers.

   if ((browserVer4plus) && (doGlide)) glideID = window.setInterval("Glide()",50);
}

function Glide() {
   // Glide the item (in this case the header) to the left in from the
   // right margin.

   if ((browserID == "MSIE") && (document.all.glider)) {
      document.all.glider.style.pixelLeft -= 50;

      if (document.all.glider.style.pixelLeft<=0) {
         document.all.glider.style.pixelLeft=0;
         window.clearInterval(glideID);
      }
   }
   else if ((browserID == "NN") && (document.glider)) {
      document.glider.left -= 50;

      if (document.glider.left<=0) {
         document.glider.left=0;
         window.clearInterval(glideID);
      }
   }
}

//=====================================================
//
//=====================================================
