// JavaScript Document



/*
Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
Copyright 2002 by Sharon Paine
Visit http://www.dynamicdrive.com for this script
*/

/* IMPORTANT: Put script after tooltip div or 
     put tooltip div just before </BODY>. */

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;

// resize fix for ns4
var origWidth, origHeight; 
if (ns4) {
    origWidth = window.innerWidth; origHeight = window.innerHeight;
    window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link? 
var tipFollowMouse= true;    
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 360;
var offX= 20;    // how far from mouse to show tip
var offY= 12; 
var tipFontFamily= "Verdana, arial, helvetica, sans-serif"; 
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#000000"; 
var tipBgColor= "#DDECFF"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 1;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor) 
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
messages[0] = new Array('images/ThroatMicPro-Lrg.gif','<p align="center"><b>Throat Microphone Pro with audio tube and eartip</b></p><br><p align="left">High technology communications throat microphone with audio coil tube and eartip. Adjustable, comfortable cloth band, Perfect for use with gas masks.</p>',"#FFFFFF"); 
messages[1] = new Array('images/ShoulderMic-Lrg.gif','<p align="center"><b>Shoulder Speaker/Microphone with 3.5mm earpiece port</b><br>Swivel clothing clip and heavy duty coil cord.</p>',"#FFFFFF"); 
messages[2] = new Array('images/Commander-Lrg.gif','<p align="center"><b>Commander Heavy Duty Headset</b></p><br><p align="left">Behind-the-head design with adjustable rubber sizing bar. Features a noise canceling flexible boom microphone, in-line PTT button options and Tygon acoustic audio tube for extreme noise conditions. Speaker is encased in weather resistant housing on the back of the headband.</p>',"#FFFFFF"); 
messages[3] = new Array('images/PTT_Barrel-Lrg.gif','<p align="center"><b>Waterproof Barrel PTT</b></p><br><p>Waterproof Barrel Push-To-Talk button with steel case and cap.</p>',"#FFFFFF"); 
messages[4] = new Array('images/RingPTT-Lrg.gif','<p align="center"><b>Finger PTT</b></p><br><p>Push-To-Talk (PTT) button with adjustable velcro strap.</p>',"#FFFFFF"); 
messages[5] = new Array('images/LargePTT-Lrg.gif','<p align="center"><b>PTT Junction Box</b></p><br><p align="center">Main junction box with large PTT button.</p>',"#FFFFFF");
messages[6] = new Array('images/HighNoiseHeadset-Lrg.jpg','<p align="center"><b>High Noise Headset</b><br>Awesome sound quality. Works great with Pitcrew Intercom. PTT on earshell. Swivel Boom Microphone. Affordable solution for commercial & consumer applications.</p>',"#FFFFFF"); 
messages[7] = new Array('images/m1.jpg','<p align="center"><b>M1 Motorola (2-Pin) cable</b><br>Works with these radio models:</p><p align="left"><br>BPR40, CLS series, CP88, CP100, CP125, CP150, CP200, CT150, CT250, CT450, CT450LS<br>DTR series, GP2000, GP300, GP308, GP350, GP68, GP88<br>GTI, GTX LTS2000<br>PR400 P040, P080 P110, P1225, P1225LS P200<br>PRO3150 SP10, SP21, SP50<br>XTN446, XTN500, XTN600 XV1100, XV1400<br>XV2100 Xu1100, 2100, 2600 VL130, 50</p>',"#FFFFFF"); 
messages[8] = new Array('images/visar.jpg','<p align="center"><b>M2 Motorola (3.5 mm threaded) cable</b><br>Works with these radio models: Visar Series</p>',"#FFFFFF"); 
messages[9] = new Array('images/M6.gif','<p align="center"><b>M6 - Motorola and Cobra 1 2.5 MM</b><br>Works with these radio models:</p><p><br><b>Spirit GT/GT+ Talkabout</b> 270, 280, T289, T550, T4700R, T 5000, T5100, 5200, 5300, 5320, 5400, 5410, 5420 5530,  5512, 5522, T5530R, 5600, 5700, 5800, 5820, 5900, 6000, 6100, 6200, 6210, 6220,6250, 6300, 6400, T6500, T6600, 6700, 6800, 6900, T7100, T7200, 7300, 7400, 7500, 7600 7700, 7800, SX700R, series and FRS 50, 60.</p><p><b>Cobra Radios</b> including: PR245, PR560, PR240, PR3100, PR3175, PR350, PR4250, PR3000, PR4000, MRHH100, MRHH200, T5620,T5710,T5720, T5920, T5950, T6320, Spirit GT plus</p><p><b>Garmin Rhino</b> 110, 120, 130, 530</p>',"#FFFFFF"); 
messages[10] = new Array('images/k1.jpg','<p align="center"><b>K1 - Kenwood 2 Pin</b><br>Works with these radio models:</p><p><br>TH-D7AG, TH-F6A, TH-G71A, TH-K21A, TK-208, TK-2100(ProTalk), TK-2102(ProPower), TK-2130 (ProTalk XLS), TK-220, TK-240, TK-240D, TK-248 TK-250, TK-260, TK-260G, TK-270, TK-270G, TK-308, TK-3100(ProTalk), TK-3101(FreeTalk XL), TK-3102(ProPower), TK-3130(ProTalk XLS, TK-3131(FreeTalkXLS), TK3202, TK-320, TK-340, TK-340D, TK-348, TK-350, TK-353, TK-360, TK-360G, TK-370, TK-370G, TK-372G, TK-430, TK-431</p>',"#FFFFFF"); 
messages[11] = new Array('images/Y4.jpg','<p align="center"><b>Y4 - Vertex 2 Pin Secured</b><br>Works with these radio models:</p><p><br>Vertex: VX130, VX160, VX180, VX210, VX210A, VX400, VX410, VX420</p>',"#FFFFFF"); 
messages[12] = new Array('images/standard.jpg','<p align="center"><b>S1 - Icom 2 Pin</b><br>Works with these radio models:</p><br><p><b>Motorola 5500</b></p><br><p><b>Icom</b> IC-F3, F3S, F4, F4S, IC-H2, H6, J12, M5, U12, U16, 4008, 4088A, T7H</p><br><p><b>Maxon</b> SL25, SL55 SP100, SP120, SP130, SP140, PL1145, PL2215, PL2415, PL2245, PL2445</p><br><p><b>Cobra (All 2-Pin) Motorola Talkabout</b> 200, 250 Distance, Distance DPS</p><br><p><b>Ritron</b> Patriots Series RTX, SST, Jobcom, JMX, MBX, JMX-141, JMX-146, JMX-144, JMX-441, JMX-446, JMX-444, JMX-102, JMX-152, JMX-452, Patriot SST plus</p><br><p><b>Vertex</b> VX200-VX500- VX510-VX52OUD</p>',"#FFFFFF"); 
messages[13] = new Array('images/s6.jpg','<p align="center"><b>S6 - Icom 2 Pin Secured</b><br>Works with these radio models:</p><br><p>Icom F11, F21, F14/24, F14S, F24S, F33G, F43G, F43TR</p>',"#FFFFFF"); 
messages[14] = new Array('images/T1.jpg','<p align="center"><b>T1 - Tekk 2 Pin</b><br>Works with these radio models:</p><br><p>Tekk NT10, NT20 , NT40, NT80 NT90, GT80, GT90</p>',"#FFFFFF"); 


////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
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];
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function 
// startStr goes before image, midStr goes between image and text
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>';

//////////////////////////////////////////////////////////// 
//  initTip    - initialization for tooltip.
//        Global variables for tooltip. 
//        Set styles for all but ns4. 
//        Set up mousemove capture if tipFollowMouse set true.
//////////////////////////////////////////////////////////// 
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;

/////////////////////////////////////////////////
//  doTooltip function
//            Assembles content for tooltip and writes 
//            it to tipDiv 
/////////////////////////////////////////////////
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 ;
    mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.documentElement.scrollTop;
    if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function 
//        If tipFollowMouse set false, so trackMouse function
//        not being used, get position of mouseover event.
//        Calculations use mouseover event position, 
//        offset amounts and tooltip width to position 
//        tooltip within window.
/////////////////////////////////////////////////////////////
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;
}
