﻿// This code is from Dynamic Web Coding www.dyn-web.com 
// Copyright 2002 by Sharon Paine Permission granted to use this code as long as this entire notice is included.
// Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/

var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko") > -1) && dom) ? true : false;
var ie5 = ((navigator.userAgent.indexOf("MSIE") > -1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

var origWidth, origHeight;
if (ns4) {
    origWidth = window.innerWidth; origHeight = window.innerHeight;
    window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

if (nodyn) { event = "nope" }
var tipFollowMouse = true;
var tipWidth = 510;
var tipHeight = 500;
var offX = 50; // how far from mouse to show tip
var offY = 110;
var tipFontFamily = "'Myriad Pro', tahoma, verdana, arial, helvetica, sans-serif";
var tipFontSize = "0.8em";
var tipFontColor = "#cccccc";
var tipBgColor = "#DDECFF";
var origBgColor = tipBgColor; // in case no bgColor set in array
var tipBorderColor = "#cccccc";
var tipBorderWidth = 1;
var tipBorderStyle = "ridge";
var tipPadding = 10;

var messages = new Array();
messages[0] = new Array('images/terminal-wall-graphics1.jpg', '<center><b>JFK Airport Walls, New York</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[1] = new Array('images/terminal-wall-graphics2.jpg', '<center><b>Mastercard Walls and Columns</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[2] = new Array('images/airport-poster.jpg', '<center><b>Airport Poster</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[3] = new Array('images/transit-graphics1.jpg', '<center><b>Transit Graphics</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[4] = new Array('images/transit-graphics2.jpg', '<center><b>Transit Graphics</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[5] = new Array('images/transit-graphics3.jpg', '<center><b>Transit Graphics</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[6] = new Array('images/transit-train-wrap.jpg', '<center><b>Train Wrap - History Channel Tom Brokaw&rsquo;s 1968 Special</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[7] = new Array('images/transit-rail-graphics1.jpg', '<center><b>Commuter Rail Graphics</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");
messages[8] = new Array('images/transit-boat-wrap.jpg', '<center><b>Boat Wrap</b><br>Copyright &copy; 2009 ABC Imaging</center>', "#000000");

if (document.images) {
    var theImgs = new Array();
    for (var i = 0; i < messages.length; i++) {
        theImgs[i] = new Image();
        theImgs[i].src = messages[i][0];
    }
}

var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

var tooltip, tipcss;
function initTip() {
    if (nodyn) return;
    tooltip = (ns4) ? document.tipDiv.document : (ie4) ? document.all['tipDiv'] : (ie5 || ns5) ? document.getElementById('tipDiv') : null;
    tipcss = (ns4) ? document.tipDiv : tooltip.style;
    if (ie4 || ie5 || ns5) {	// ns4 would lose all this on rewrites
        tipcss.width = tipWidth + "px";
        tipcss.fontFamily = tipFontFamily;
        tipcss.fontSize = tipFontSize;
        tipcss.color = tipFontColor;
        tipcss.backgroundColor = tipBgColor;
        tipcss.borderColor = tipBorderColor;
        tipcss.borderWidth = tipBorderWidth + "px";
        tipcss.padding = tipPadding + "px";
        tipcss.borderStyle = tipBorderStyle;
    }
    if (tooltip && tipFollowMouse) {
        if (ns4) document.captureEvents(Event.MOUSEMOVE);
        document.onmousemove = trackMouse;
    }
}

window.onload = initTip;

var t1, t2; // for setTimeouts
var tipOn = false; // check if over tooltip link
function doTooltip(evt, num) {

    if (!tooltip) return;
    if (t1) clearTimeout(t1); if (t2) clearTimeout(t2);
    tipOn = true;
    // set colors if included in messages array
    if (messages[num][2]) var curBgColor = messages[num][2];
    else curBgColor = tipBgColor;
    if (messages[num][3]) var curFontColor = messages[num][3];
    else curFontColor = tipFontColor;
    if (ns4) {
        var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>' + startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
        tooltip.write(tip);
        tooltip.close();
    } else if (ie4 || ie5 || ns5) {
        var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
        tipcss.backgroundColor = curBgColor;
        tooltip.innerHTML = tip;
    }
    if (!tipFollowMouse) positionTip(evt);
    else t1 = setTimeout("tipcss.visibility='visible'", 100);
}

var mouseX, mouseY;
function trackMouse(evt) {
    mouseX = (ns4 || ns5) ? evt.pageX : window.event.clientX + document.body.scrollLeft;
    mouseY = (ns4 || ns5) ? evt.pageY : window.event.clientY + document.body.scrollTop;
    if (tipOn) positionTip(evt);
}

function positionTip(evt) {
    if (!tipFollowMouse) {
        mouseX = (ns4 || ns5) ? evt.pageX : window.event.clientX + document.body.scrollLeft;
        mouseY = (ns4 || ns5) ? evt.pageY : window.event.clientY + document.body.scrollTop;
    }
    // tooltip width and height
    var tpWd = (ns4) ? tooltip.width : (ie4 || ie5) ? tooltip.clientWidth : tooltip.offsetWidth;
    var tpHt = (ns4) ? tooltip.height : (ie4 || ie5) ? tooltip.clientHeight : tooltip.offsetHeight;
    // document area in view (subtract scrollbar width for ns)
    var winWd = (ns4 || ns5) ? window.innerWidth - 20 + window.pageXOffset : document.body.clientWidth + document.body.scrollLeft;
    var winHt = (ns4 || ns5) ? window.innerHeight - 20 + window.pageYOffset : document.body.clientHeight + document.body.scrollTop;
    // check mouse position against tip and window dimensions
    // and position the tooltip 
    if ((mouseX + offX + tpWd) > winWd)
        tipcss.left = (ns4) ? mouseX - (tpWd + offX) : mouseX - (tpWd + offX) + "px";
    else tipcss.left = (ns4) ? mouseX + offX : mouseX + offX + "px";
    if ((mouseY + offY + tpHt) > winHt)
        tipcss.top = (ns4) ? winHt - (tpHt + offY) : winHt - (tpHt + offY) + "px";
    else tipcss.top = (ns4) ? mouseY + offY : mouseY + offY + "px";
    if (!tipFollowMouse) t1 = setTimeout("tipcss.visibility='visible'", 100);
}

function hideTip() {
    if (!tooltip) return;
    t2 = setTimeout("tipcss.visibility='hidden'", 100);
    tipOn = false;
}
