// =================================== //
// Popup Caption                       //
// v1.0 - May 21, 2006                 //
// ----------------------------------- //
// Created by Lloyd Hassell            //
// Website: lloydhassell.brinkster.net //
// Email: lloydhassell@hotmail.com     //
// =================================== //

// INITIALIZATION:

popupCaption = new Object();

// CONFIGURATION:

popupCaption.bgColor = '#FFFFFF';
popupCaption.fontColor = '#000000';
popupCaption.fontFace = 'verdana,arial';
popupCaption.fontSize = 2;
popupCaption.width = 300;
popupCaption.cursorOffsetX = 25;
popupCaption.cursorOffsetY = 0;
popupCaption.windowPadding = 2;
popupCaption.openDelay = 350;
popupCaption.imagesPath = '';

// MAIN:

popupCaption.documentLoaded = false;
popupCaption.layerLoaded = false;
popupCaption.layerActive = false;
popupCaption.imageObj = new Array();
popupCaption.openTimeout = null;
popupCaption.updateTimeout = null;

if (dyn) {
   for (var imageLoop = 0; imageLoop < 18; imageLoop++) popupCaption.imageObj[imageLoop] = loadImg(popupCaption.imagesPath + 'pc' + (imageLoop + 1) + '.gif');
   }

function documentLoaded() {
   popupCaption.documentLoaded = true;
   }

function loadPopupCaption() {
   if (!popupCaption.layerLoaded) {
      captureCursor();
      popupCaption.layerObj = addLayer('popupCaptionLayer');
      setLayerOnTop(popupCaption.layerObj);
      popupCaption.layerLoaded = true;
      }
   }

function showPopupCaption(MESSAGE) {
   if (dyn && popupCaption.documentLoaded) {
      if (!popupCaption.layerLoaded) loadPopupCaption();
      if (popupCaption.layerActive) hideLayer(popupCaption.layerObj);
      var htmlStr = getTableTag(0,0,0,popupCaption.width) + '<tr>' + getTdTag('left','top');
      htmlStr += getTableTag(0,0,0,'100%') + '<tr>';
      htmlStr += getTdTag('left','top',18) + getImgTag('',popupCaption.imagesPath + 'pc1.gif',18,9) + '</td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc2.gif') + '</td>';
      htmlStr += getTdTag('left','top') + getImgTag('',popupCaption.imagesPath + 'pc3.gif',9,9) + '</td>';
      htmlStr += '</tr><tr>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc4.gif') + getImgTag('',popupCaption.imagesPath + 'pc5.gif',18,9) + '</td>';
      htmlStr += getTdTag('left','top','','#FFFFFF') + getFontTag(popupCaption.fontColor,popupCaption.fontFace,popupCaption.fontSize) + MESSAGE + '</font></td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc6.gif') + '</td>';
      htmlStr += '</tr><tr>';
      htmlStr += getTdTag('left','top') + getImgTag('',popupCaption.imagesPath + 'pc7.gif',18,9) + '</td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc8.gif') + '</td>';
      htmlStr += getTdTag('left','top') + getImgTag('',popupCaption.imagesPath + 'pc9.gif',9,9) + '</td>';
      htmlStr += '</tr></table>';
      htmlStr += '</td></tr></table>';
      popupCaption.htmlStr1 = htmlStr;
      var htmlStr = getTableTag(0,0,0,popupCaption.width) + '<tr>' + getTdTag('left','top');
      htmlStr += getTableTag(0,0,0,'100%') + '<tr>';
      htmlStr += getTdTag('left','top',9) + getImgTag('',popupCaption.imagesPath + 'pc10.gif',9,9) + '</td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc11.gif') + '</td>';
      htmlStr += getTdTag('left','top') + getImgTag('',popupCaption.imagesPath + 'pc12.gif',18,9) + '</td>';
      htmlStr += '</tr><tr>';
      htmlStr += getTdTag('left','top','9','',popupCaption.imagesPath + 'pc13.gif') + '</td>';
      htmlStr += getTdTag('left','top','','#FFFFFF') + getFontTag(popupCaption.fontColor,popupCaption.fontFace,popupCaption.fontSize) + MESSAGE + '</font></td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc14.gif') + getImgTag('',popupCaption.imagesPath + 'pc15.gif',18,9) + '</td>';
      htmlStr += '</tr><tr>';
      htmlStr += getTdTag('left','top',9) + getImgTag('',popupCaption.imagesPath + 'pc16.gif',9,9) + '</td>';
      htmlStr += getTdTag('left','top','','',popupCaption.imagesPath + 'pc17.gif') + '</td>';
      htmlStr += getTdTag('left','top') + getImgTag('',popupCaption.imagesPath + 'pc18.gif',18,9) + '</td>';
      htmlStr += '</tr></table>';
      htmlStr += '</td></tr></table>';
      popupCaption.htmlStr2 = htmlStr;
      popupCaption.openTimeout = window.setTimeout('displayPopupCaption();',popupCaption.openDelay);
      }
   }

function hidePopupCaption() {
   if (dyn && popupCaption.layerLoaded) {
      popupCaption.layerActive = false;
      hideLayer(popupCaption.layerObj);
      window.clearTimeout(popupCaption.openTimeout);
      window.clearTimeout(popupCaption.updateTimeout);
      }
   }

function displayPopupCaption() {
   popupCaption.layerActive = true;
   popupCaption.htmlLayout = -1;
   popupCaption.winWidth = getWinWidth();
   popupCaption.winHeight = getWinHeight();
   updatePopupCaption();
   }

function updatePopupCaption() {
   if (popupCaption.layerActive) {
      var posX = cursorWinX + popupCaption.cursorOffsetX;
      var htmlLayout = (posX  + popupCaption.width < popupCaption.winWidth - popupCaption.windowPadding) ? 1 : 2;
      if (popupCaption.htmlLayout != htmlLayout) {
         hideLayer(popupCaption.layerObj);
         if (htmlLayout == 1) setLayerHTML(popupCaption.layerObj,popupCaption.htmlStr1);
         else setLayerHTML(popupCaption.layerObj,popupCaption.htmlStr2);
         popupCaption.htmlLayout = htmlLayout;
         showLayer(popupCaption.layerObj);
         }
      if (htmlLayout == 2) posX = posX - popupCaption.cursorOffsetX - popupCaption.width - 10;
      posX += getDocScrollLeft();
      var posY = cursorWinY + popupCaption.cursorOffsetY + getDocScrollTop();
      moveLayerTo(popupCaption.layerObj,posX,posY);
      popupCaption.updateTimeout = window.setTimeout('updatePopupCaption();',50);
      }
   }

window.onload = documentLoaded;