. */ var dom = (document.getElementById) ? true : false; var ns5 = (!document.all && dom || window.opera) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false; var origWidth, origHeight; // 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= 600; var offX= 20; // how far from mouse to show tip var offY= 20; var tipFontFamily= "Verdana, arial, helvetica, sans-serif"; var tipFontSize= "11pt"; // 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('\images/purchase_forecasting_boxes1.gif','Inventory "in-transit" details, including availability, open orders, purchase orders, backorders, branch transfers, and returned goods, provide a complete picture of your inventory status.'); messages[1] = new Array('\images/Crit_Email.png','Daily Critical Inventory messages alert your buyers to low-stock conditions, replacing manually generated and printed reports.'); messages[2] = new Array('\images/gmroi.png',""); //////////////////// 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'; var endStr = ''; //////////////////////////////////////////////////////////// // initTip - initialization for tooltip. // Global variables for tooltip. // Set styles // Set up mousemove capture if tipFollowMouse set true. //////////////////////////////////////////////////////////// var tooltip, tipcss; function initTip() { if (nodyn) return; tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null; tipcss = 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) { 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 (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) { standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft; mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.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 = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft; mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop; } // tooltip width and height var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth; var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; // document area in view (subtract scrollbar width for ns) var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft; var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop; // check mouse position against tip and window dimensions // and position the tooltip if ((mouseX+offX+tpWd)>winWd) tipcss.left = mouseX-(tpWd+offX)+"px"; else tipcss.left = mouseX+offX+"px"; if ((mouseY+offY+tpHt)>winHt) tipcss.top = winHt-(tpHt+offY)+"px"; else tipcss.top = mouseY+offY+"px"; if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100); } function hideTip() { if (!tooltip) return; t2=setTimeout("tipcss.visibility='hidden'",100); tipOn = false; } document.write('')
Products & Services The Right Choice Implementation The DDI Difference
Solutions PHCP, HVAC and Waterworks Janitorial Paper and Packaging Safety and Industrial Electrical and Lighting Food Equipment Retail Showrooms Stocking Rep's Related Industries
Products & Services Product Information: inform 2008Webinars Professional Services
Designed for Independent Distributors
DDI System

Inventory Management

Your customers demand their orders filled now, priced correctly and delivered on time. Inform 2008 tells you what products are ready to reorder, how many are needed for the upcoming season and has advanced support for multi-branch distributors.

The key to profitability is balancing your inventory costs, and maximizing turns while maintaining the highest possible order fill rate. Inform 2008 lets you meet these goals, providing insight and control into every aspect of your inventory status, customer requirements, demand, sales and profitability trends.

Remarkable Insight  into your Inventory
Inform's Product Analysis screen reveals every aspect of any product, including stock, non-stock, service or labor items.  Explore all the detail of your inventory's 'in-transit' information, including availability, open orders, purchase orders, backorders, branch transfers, and returned goods, for a complete picture of your inventory status

Purchase Forecasting:
Inform 2008's automated procurement system keeps stock levels optimized.
System-calculated stock minimum and reorder quantity provides sophisticated forecasting.  Most distributors using inform begin to achieve effective inventory management  within months of implementation. Inform 2008 automatically tracks product demand, demand trend, seasonality, sales exceptions, and lead times.

Inventory Analysis Monitors your Biggest Investment.
Achieve long-term improvements and effective inventory management  with enterprise-level inventory analysis. Inform automatically provides easily understood inventory metrics including Branch Overstock analysis, A-B-C Ranking, Inventory Turns, and 'GMROI ' (Gross Margin Return on Investment).

Effectively Manage Inventory for One or Many Branches
Inform 2008 tracks replenishment requirements, inventory rank and turns at all branches. Automate branch replenishment with flexible, parameter-driven stock transfers. Centralized and branched specific forecasting with purchase-time alerts for branch overstock meet the needs of distributors with two locations or twenty.

Event Messaging Communicates Inventory Issues in Real-Time.
Keep your purchasing team informed with 'Red Alert' emergency procurement notifications, daily Critical Inventory e-mails, and Special Order Request Priority Requisitions. Stock receivings generate event messages to order writers, salespeople, or expeditors to fulfill pending customer orders.