var substringMatcher = function(strs) { return function findMatches(q, cb) { var matches, substringRegex; // an array that will be populated with substring matches matches = []; // regex used to determine if a string contains the substring `q` substrRegex = new RegExp(q, 'i'); // iterate through the pool of strings and for any string that // contains the substring `q`, add it to the `matches` array $.each(strs, function(i, str) { if (substrRegex.test(str)) { matches.push(str); } }); cb(matches); }; }; var products = ['Caldera RIP Software','Compact e-Lifter Lite','Compact e-Lifter Pro','Compact Lifter','Easy Mount Air Single Hot Laminator','Easy Mount Sign Air Hot Laminators','Easy Mount Sign Laminators','Easymount Double Hot Models','Easymount Single Hot Laminators','Epson Epson SureColor SC-T3700D Printer - 24in','Epson SureColor P6500D Printer - 24in','Epson SureColor P6500E Printer - 24in','Epson SureColor SC-P20000 Printer - 64in','Epson SureColor SC-P6500DE Printer - 24in','Epson SureColor SC-P7500 Std Printer - 24in','Epson SureColor SC-P7500 Std Spectro Printer - 24in','Epson SureColor SC-P8500D Std Printer - 44in','Epson SureColor SC-P8500DL Std Printer - 44in','Epson SureColor SC-P8500DM Printer - 44in','Epson SureColor SC-P9500 Std Printer - 44in','Epson SureColor SC-P9500 Std Spectro Printer - 44in','Epson SureColor SC-R5000 64in Resin Printer','Epson SureColor SC-R5000L 64in Resin Printer','Epson SureColor SC-S40600 Printer - 64in','Epson SureColor SC-S60600 Printer - 64in','Epson SureColor SC-S60600L Printer - 64in','Epson SureColor SC-S80600 Printer - 64in','Epson SureColor SC-S80600L Printer - 64in','Epson SureColor SC-S9100 Printer - 64in','Epson SureColor SC-T2100 Printer (Without Stand) - 24in','Epson SureColor SC-T3100M MFP (Without Stand) - 24in','Epson SureColor SC-T3100x Printer (Without Stand) - 24in','Epson SureColor SC-T3700DE Printer - 24in','Epson SureColor SC-T3700E Printer - 24in','Epson SureColor SC-T5100 Printer (Without Stand) - 36in','Epson SureColor SC-T5100M MFP - 36in','Epson SureColor SC-T5700D Printer - 36in','Epson SureColor SC-T5700DM Printer - 36in','Epson SureColor SC-T7700D Printer - 44in','Epson SureColor SC-T7700DL Printer - 44in','Epson SureColor SC-T7700DM Printer - 44in','Epson SureColor T3100 Printer - 24in','Epson SureColor T3100N (Without Stand) Printer - 24in','Epson SureColor T3405 Printer - 24in','Epson SureColor T3405N Printer - 24in','Epson SureColor T5100 Printer - 36in','Epson SureColor T5400M MFP Printer - 36in','Epson SureColor T5405 Printer - 36in','Epson SureColor V7000 UV Flatbed Printer - 10 Colour - 2500mm x 1250mm','Fusion Bull Rack','Fusion Easy Rack','Fusion Jumbo Rolls Transporter','Fusion Mobile 12','Fusion Mobile 16','Fusion Multi Rack','Fusion Rolling','Fusion Swivel Rack','Fusion TableRack','Fusion Wall Rack','Inks','Kala AppliKator Lamination Tables','Kala Arkane 1650 (65") Laminator','Kala Atlantic Laminators','Kala GinkoLam 1650 65in Laminator','Kala Mistral Laminators','Kala XY Cutter','Keen Cut Big Bench','Keencut Evolution3 Benchtop Cutter','Keencut Evolution3 Freehand','Keencut Evolution3 Smartfold Cutter','Keencut SmartFold Bench','Keencut SteelTraK Cutters','Media','Onyx RIP Software','Roland BD-8 UV Desktop Printer','Roland CO-300i Flatbed UV Printer','Roland CO-640i Flatbed UV Printer','Roland EU-1000MF UV Flatbed Printer','Roland GR2-540 54in Cutter','Roland GR2-640 64in Cutter','Roland IU-1000F UV Flatbed Printer','Roland LG-300 30in UV Roll-to-Roll Printer Cutter','Roland LG-540 54in UV Roll-to-Roll Printer Cutter','Roland LG-640 64in UV Roll-to-Roll Printer Cutter','Roland MG-300 30in UV Roll-to-Roll Printer Cutter','Roland MG-640 64in UV Roll-to-Roll Printer Cutter','Roland MO-240 UV Desktop Printer','Roland TrueVIS AP-640 Printer - 64in','Roland TrueVIS SG3-300 30in Printer Cutter - 30in','Roland TrueVIS SG3-540 54in Printer Cutter - 54in','Roland TrueVIS VG3-540 54in Printer Cutter - 54in','Roland TrueVIS VG3-640 64in Printer Cutter - 64in','Roland VersaSTUDIONEW BN2-20 Printer Cutter - 20in','Roland VersaSTUDIONEW BN2-20a Printer Cutter - 20in','Roland XP-640 64in Eco Solvent Printer','Summa F1432 Flatbed Cutter - 1400mm x 3200mm','Summa F1612 Flatbed Cutter - 1600mm x 1200mm','Summa F1832 Flatbed Cutter - 1800mm x 3200mm','Summa F3220 Flatbed Cutter - 3200mm x 2000mm','Summa F3232 Flatbed Cutter - 3200mm x 3200mm','Summa S Class 3 D120 48in Cutter','Summa S Class 3 D140 54in Cutter','Summa S Class 3 D160 64in Cutter','Summa S Class 3 D75 30in Cutter','Summa S Class 3 T120 48in Cutter','Summa S Class 3 T140 54in Cutter','Summa S Class 3 T160 64in Cutter','Summa S Class 3 T160 64in OPOS CAM Cutter','Summa S Class 3 T75 30in Cutter','Summa S Class 3 T75 30in OPOS CAM Cutter','Summa S One D120 48in Cutter','Summa S One D140 54in Cutter','Summa S One D140FX 54in Cutter','Summa S One D160 64in Cutter','Summa S One D60 Cutter','Trimfast General Purpose Cutter','Trimfast Rotary Paper Cutters','Vanguard VK300D-HS Flatbed UV LED Printer 10x5','Vanguard VK300D-HVT Flatbed UV LED Printer 10x5 (High Vac)','Vanguard VK3220T-HS Flatbed UV LED Printer 3.2 x 2.0m','Vanguard VKR3200-HS 3.2m UV Printer','Vanguard VR5D-E Flatbed UV LED Printer 8x4','Vanguard VR6D-HS Flatbed UV LED Printer 8x4','VeloBlade Nexus - Flatbed Cutters','Veloblade Volta 10mm - Large Format Flatbed Cutter','Veloblade Volta 2mm - Large Format Flatbed Cutter' ]; $('#our-products .typeahead').typeahead({ hint: true, highlight: true, minLength: 1 }, { name: 'products', limit: 10, source: substringMatcher(products) });