. */
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= 160;
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= 3;
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('red_balloon.gif','Here is a red balloon on a white background',"#FFFFFF");
messages[1] = new Array('duck2.gif','Here is a duck on a light blue background.',"#DDECFF");
messages[2] = new Array('test.gif','Test description','black','white');
//////////////////// 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
DVRs for Mobile & Industrial Applications Stack’s second generation video recorders have the same quality, reliability and compact design of the original Stack DVR, but now come in an expanded range. The new Stack range of DVRs has a model to suit your needs: choose from variants offering up to 4 camera inputs, higher bit-rate options for broadcast quality recordings, completely sealed to IP67, extended operating temperature ranges, and extended recordings capacity. Stack DVRs provide superior high-quality video recording in real time over a wide range of bit rates suitable for different applications - up to 15 mbps is available, quality equivalent or better than DV tape. Stack’s DVR2-240 & DVR2-440 incorporate an integrated 4 input video multiplexer to allow any format of up to 4 cameras (composite PAL or NTSC) to be recorded simultaneously on one screen with fully programmable scaling, crop and positioning. Key features: TPMS Stack’s Batteryless Tyre Pressure and Temperature Monitoring System (TPMS) completely re-defines tyre pressure monitoring in motorsport. Based on patented SAW sensor technology, the problems associated with mounting batteries and complicated electronics in sensors on wheels have at last been completely eliminated. Key features: Accurate tyre pressures are a proven performance enhancer, delivering consistent performance advantages in all levels of motorsport. Dynamic tyre pressure monitoring while out on the track allows the team to optimise tyre performance over the whole lap and whole run. Stack's unique batteryless sytem is designed specifically with the demanding requirements in mind. For further details click here. The advanced functions can be made operational simply by PIN code activation making upgrading problem-free and convenient. The STACK ST8956 multi-function system is available in 3 versions: Clubman, Semi-Pro, Pro. The “Clubman” function is perfect for the novice, the “Semi pro” system for more advanced requirements and the “pro” system for extensive measuring tasks. The system can be used in conjunction with Stack’s slimline LCD display (ST8850). Key features For further details click here. Although we have separate areas on this website for our Motorsport and Test/Engineering divisions, many of our products do have possible crossover Applications. Indeed, if you think that a Stack product may be the solution to your needs do not hesitate to contact us to discuss
your requirements.
For any enquiries about Stack innovation, contact us at the following:
Stack Ltd. Stack Inc. Your Stack dealer will be happy to assist you further. ';
////////////////////////////////////////////////////////////
// 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 = '';
var endStr = '
';
tooltip.write(tip);
tooltip.close();
} else if (ie4||ie5||ns5) {
var tip = startStr + messages[num][0] + midStr + '' + messages[num][1] + '' + 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);
}
/////////////////////////////////////////////////////////////
// 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;
}
//-->
'+ startStr + messages[num][0] + midStr + '' + messages[num][1] + '' + endStr + '
Home | Test & Engineering | New Products - Test & Engineering
Stack New Products
Stack are to committed to innovation. For more than two decades Stack’s philosophy has been to lead the way in the use of new technologies and provide our customers with advanced, quality engineered products.
For further details click here.

MFR - Multi-Function Recorder
Stack’s NEW data recording system consists of a single multi-function module containing hardware already installed to provide a wide variety of data acquisition functions. The module has the basic functions available out of the box.
Please revisit this page soon for more exciting news about new products from Stack...
UK & International
![]()
USA
Wedgwood Road
Bicester OX26 4UL
UK
T: +44 (0) 1869 240404
F: +44 (0) 1869 245500
E: sales@stackltd.com
Toledo,
OH 43697
USA
T: (888) 867 5183
F: (888) 364 2609
E: sales@stackinc.com
Frequently Asked Questions
Further information can be found in our Troubleshooting Knowledgebase and FAQ sections.
Back one page | Motorsport Home | Test & Engineering Home
![]()

![]()
Products
Support
Where to buy
Stack Information

Terms & Conditions | Privacy Policy
Copyright © 2010 Stack Limited
Stack is a world-leading supplier of dashboard instruments, data acquisition and video systems to motorsport and automotive customers worldwide.
If you use email or spam filter rules, please add sales@stackltd.com to your Address Book or Safe List.