if (!window.AS) AS = {}; if (!window.autosweetGA) autosweetGA = {}; AS.pixel = { bodyText: null, doAnalyticsWork: function () { AS.pixel.loadGoogleAnalyticsAPI("UA-100206026-1"); AS.pixel.doGoogleAnalyticsWork("715", "UA-100206026-1"); AS.pixel.loadGoogleAnalytics4API("G-TDQM8GL821"); }, doPixelWork: function () { if (document.readyState != "complete") { setTimeout(function () { AS.pixel.doPixelWork(); }, 250); } else { AS.pixel.bodyText = AS.pixel.getText(); AS.pixel.loadFacebookAPI(); AS.pixel.doPhoneNumberSwapWork(); AS.pixel.doFacebookWork(715, "1461400083922787", "StockNumber"); } }, loadGoogleAnalyticsAPI: function (gaTrackingCode) { var gt = document.createElement("script"); gt.async = "async"; gt.src = "https://www.googletagmanager.com/gtag/js?id=" + gaTrackingCode; document.head.appendChild(gt); window.dataLayer = window.dataLayer || []; autosweetGA[gaTrackingCode] = function () {dataLayer.push(arguments);}; autosweetGA[gaTrackingCode]('js', new Date()); autosweetGA[gaTrackingCode]('config', gaTrackingCode, { 'custom_map': { 'dimension1': 'DealerID' }, 'send_page_view': false }); }, doGoogleAnalyticsWork: function (dealerID, gaTrackingCode) { if (!autosweetGA || !autosweetGA[gaTrackingCode]) { setTimeout(function () { AS.pixel.doGoogleAnalyticsWork(dealerID); }, 250); } else { autosweetGA[gaTrackingCode]('event', 'page_view', { 'DealerID': dealerID, 'send_to': gaTrackingCode }); document.addEventListener("click", function (event) { if (event && event.target && event.target.href) { var phoneMatch = /^(?:tel\:|wtai\:)?(\+?1[-.\s]?)?(\(?[2-9][0-8][0-9]\)?[-.\s]?[2-9][0-9]{2}[-.\s]?[0-9]{4})$/.exec(event.target.href); if (phoneMatch) { autosweetGA[gaTrackingCode]('event', 'click', { 'DealerID': dealerID, 'event_category': 'CPE-Conversion-Call', 'event_label': 'PH:' + phoneMatch[2], 'value': 0 }); } } }, false); } }, loadGoogleAnalytics4API: function (gaTrackingCode) { var gt = document.createElement("script"); gt.async = "async"; gt.src = "https://www.googletagmanager.com/gtag/js?id=" + gaTrackingCode; document.head.appendChild(gt); window.dataLayer = window.dataLayer || []; autosweetGA[gaTrackingCode] = function () {dataLayer.push(arguments);}; autosweetGA[gaTrackingCode]('js', new Date()); autosweetGA[gaTrackingCode]('config', gaTrackingCode); }, loadFacebookAPI: function () { !function (f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s); }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); }, doFacebookWork: function (dealerID, pixelID, productIdType) { if (!window.fbq) { setTimeout(function () { AS.pixel.doFacebookWork(dealerID, pixelID, productIdType); }, 250); } else { AS.pixel.connectFB(pixelID, productIdType); } }, connectFB: function (pixelID, productIdType) { if (window.fbq) { window.fbq('init', pixelID); window.fbq('track', 'PageView'); AS.pixel.analyzePage(pixelID, productIdType); } }, analyzePage: function (pixelID, productIdType) { var pIds = productIdType == "VIN" ? AS.pixel.getPageVins() : AS.pixel.getPageStockNumbers(); if (pIds && pIds.length) { window.fbq("trackSingle", pixelID, "ViewContent", { content_type: "product", content_ids: pIds }); window.fbq("trackSingle", pixelID, "ViewContent", { content_type: "vehicle", content_ids: pIds }); } }, getPageVins: function () { var retVins = []; var vRe = /\b[a-hj-npr-z0-9]{17}\b/gi; for (var p = 0, props = [AS.pixel.bodyText, document.body['innerHTML']]; p < props.length; p++) { if (!retVins.length) { var dit = props[p]; var curVin; do { curVin = vRe.exec(dit); if (curVin && curVin.length) { curVin = curVin[0]; var wasFound = false; for (var i = 0; i < retVins.length; i++) { if (retVins[i].toUpperCase() == curVin.toUpperCase()) { wasFound = true; break; } } if (!wasFound && curVin.match(/[a-z]/i) && !curVin.substr(12,5).match(/[a-z]/i)) retVins.push(curVin.toUpperCase()); } } while (curVin != null); } } return retVins; }, getPageStockNumbers: function () { var retStockNumbers = []; var vRe = /(St(o?c)?k\s*|ID)(?:ID|#|N(?:o[\.]?|um(?:ber)?))?[:-\s]\s*([\w-]*)/gi; for (var p = 0, props = [AS.pixel.bodyText, document.body['innerHTML']]; p < props.length; p++) { if (!retStockNumbers.length) { var dit = props[p]; var curStockNumber; do { curStockNumber = vRe.exec(dit); if (curStockNumber && curStockNumber.length > 1) { curStockNumber = curStockNumber[curStockNumber.length - 1]; var wasFound = false; for (var i = 0; i < retStockNumbers.length; i++) { if (retStockNumbers[i] == curStockNumber) { wasFound = true; break; } } if (!wasFound) retStockNumbers.push(curStockNumber); } } while (curStockNumber != null); } } return retStockNumbers; }, doPhoneNumberSwapWork: function () { var asCookie = AS.pixel.cookieHandler.getCookie("AutoSweetSource"); var urlVars = AS.pixel.getURLVars(); var sourceMatch = /AutoSweet/gi.exec(urlVars["utm_source"]); var mediumMatch = /referral|email/gi.exec(urlVars["utm_medium"]); var campaignMatch = /autosweet/gi.exec(urlVars["utm_campaign"]); if (asCookie || (sourceMatch && mediumMatch) || campaignMatch) { AS.pixel.cookieHandler.setCookie("AutoSweetSource", "true", 3); var trackingNumbers = AS.pixel.determineTrackingNumbers(urlVars["utm_source"], mediumMatch, campaignMatch); if (trackingNumbers != null) { var pageNumberInfo = AS.pixel.getPageNumberInfo(trackingNumbers); var possiblePhoneNumbers = pageNumberInfo.possiblePhoneNumbers; if (possiblePhoneNumbers.length > 0) { var anchors = document.getElementsByTagName("a"); for (var i = 0; i < anchors.length; i++) { var number = null; if (anchors[i].href.length >= 10) { number = anchors[i].href.substr(anchors[i].href.length - 10); } if (number && trackingNumbers[number]) { anchors[i].href = anchors[i].href.replace(number, trackingNumbers[number]); } } var nds = document.querySelectorAll("*"); for (var i = 0; i < nds.length; i++) { var childNodes = nds[i].childNodes; for (var j = 0; j < childNodes.length; j++) { var cNode = childNodes[j]; if (cNode.nodeType == Node.TEXT_NODE) { for (var k = 0; k < possiblePhoneNumbers.length; k++) { var numberConfig = possiblePhoneNumbers[k]; for (var l = 0; l < numberConfig.variants.length; l++) { var oldPhoneNumber = numberConfig.variants[l]; var newPhoneNumber = AS.pixel.getReplacementNumber(numberConfig.phoneNumber, trackingNumbers[numberConfig.phoneNumber], numberConfig.variants[l]); if (cNode.textContent && cNode.textContent.indexOf(oldPhoneNumber) > -1) { cNode.textContent = cNode.textContent.replace(oldPhoneNumber, newPhoneNumber); break; } } } } } } } if (pageNumberInfo.allNumbers != null) { var recentlySeenNumbers = []; var rulesToUpsert = []; for (var i = 0; i < pageNumberInfo.allNumbers.length; i++) { var phoneNumber = pageNumberInfo.allNumbers[i]; if (recentlySeenNumbers.indexOf(phoneNumber) == -1) { rulesToUpsert.push(phoneNumber); } } if (rulesToUpsert.length) { AS.pixel.upsertPhoneNumbers(rulesToUpsert); } } } } }, determineTrackingNumbers: function (source, mediumMatch, campaignMatch) { var retNumberMap = null; if (source != null && campaignMatch != null) { switch (source.toLowerCase()) { case "facebook": retNumberMap = null; break; case "facebookmarketplace": retNumberMap = null; break; case "autosweet": if (mediumMatch && mediumMatch[0].toLowerCase() == "email") { retNumberMap = null; } break; case "craigslist": retNumberMap = null; break; case "google": retNumberMap = null; break; default: break; } if (retNumberMap != null && Object.keys(retNumberMap).length) { var trackingNumber = retNumberMap[Object.keys(retNumberMap)[0]]; var enabledDNRs = []; for (var i = 0; i < enabledDNRs.length; i++) { var number = enabledDNRs[i]; retNumberMap[number] = trackingNumber; } } } return retNumberMap; }, getPageNumberInfo: function (trackingNumbers) { var dnrNumbers = ["0000000000","0368353066","1000000000","2002293094","2006173257","2029763249","2037403200","2062773181","2069583251","2072346281","2074433251","2076083251","2076686282","2078903251","2079823121","2086303131","2087213248","2094996282","2106713253","2107933253","2109463253","2113203253","2115106283","2122273183","2125093045","2127593186","2129893256","2136513257","2136663257","2137173257","2139993257","2142903127","2159916286","2164943259","2167273167","2174803168","2182956265","2183636265","2184336266","2184783169","2192723188","2195587158","2198723188","2204276270","2205013173","2205663173","2206516271","2207313174","2208656271","2208956272","2215633189","2219346273","2228963173","2232893284","2234433189","2236286273","2256383190","2257453178","2262203179","2262593190","2265363190","2266143191","2267723180","2268556280","2273183190","2274703191","2284206292","2285986292","2299103183","2303023184","2303623184","2304626285","2305893294","2306186285","2307413195","2312293290","2312296285","2315486378","2316033196","2317943291","2325346299","2327513198","2333093290","2333223290","2335483290","2335746297","2337023290","2338423291","2339346381","2342193293","2346836297","2347323280","2355623294","2364233293","2365673293","2365793294","2366333205","2367053197","2369706382","2369913173","2375636372","2376066298","2376213294","2377786298","2378863281","2378972983","2382753295","2384693205","2384703295","2384743175","2385376382","2386433175","2387506306","2388523295","2389346284","2389523185","2393483185","2397826383","2403563195","2406043206","2406393206","2406955303","2407996383","2408303297","2408323210","2409473285","2412233212","2412253207","2417716310","2419743208","2419896310","2422786307","2423163300","2423893208","2425536310","2426133208","2427073286","2427183300","2428886311","2428906311","2429053207","2436693206","2443236380","2444433304","2445513301","2446176312","2449243208","2449273291","2458223300","2466583210","2474693210","2474923295","2475306382","2476283210","2479056303","2487503171","2487843306","2487863297","2488813297","2494773309","2496776305","2497533212","2503683299","2505223299","2507273213","2509643213","2523853115","2527316316","2528156316","2528753214","2529543215","2529926306","2536063318","2537376388","2537513301","2537963215","2539466390","2542266307","2544583215","2545886317","2546843216","2547003215","2552253216","2553243306","2554993252","2554996344","2566913207","2568073220","2582553223","2585293223","2608293226","2609153226","2609453124","2616273075","2616746328","2618236315","2618476315","2622063082","2622523227","2623720141","2628103212","2628116316","2634103212","2634373231","2636073212","2643613075","2646036326","2649076326","2652003230","2652223230","2654133230","2654236327","2654236353","2656813232","2659003231","2665783079","2668223233","2668963233","2669883333","2674073234","2674603234","2675943333","2677733234","2678043333","2679913155","2689783235","2707403086","2708646307","2713663218","2713666304","2714603086","2715413245","2715693221","2723403202","2724443240","2724683202","2735533243","2738473243","2742123104","2746253224","2749483213","2772933091","2774043226","2778353235","2786913227","2787283227","2789423227","2865303231","2867393231","2868363231","2885853232","2885993135","2895393233","2896083233","3004613159","3005516283","3005753249","3008436282","3012003254","3015343249","3015493249","3016503168","3018053249","3018343160","3019966200","3022583250","3025473255","3026683115","3026823160","3028483160","3032123247","3033623255","3037556350","3038083160","3038466284","3039086284","3047566256","3048203168","3049113260","3049153261","3049156378","3049443261","3052093247","3052843260","3053906352","3054776257","3055093260","3055243273","3063813278","3066033276","3066173278","3067583169","3068013275","3068103276","3069963275","3075103168","3077263168","3086723162","3086893275","3088073284","3093213251","3096313187","3103693298","3108386364","3108653297","3109113117","3109153296","3109723296","3114336388","3118973165","3123213252","3123493163","3125363253","3138953193","3143463192","3146206382","3147353194","3149403192","3149853254","3152013193","3152193192","3153173192","3156333192","3157133192","3157613192","3166483176","3172063176","3183693166","3188693185","3189563185","3192503258","3193693185","3196783258","3197063185","3198223185","3198623258","3202863195","3204493259","3206143191","3209303188","3212646295","3213596295","3219543191","3237403260","3256633264","3268283262","3268333196","3273066205","3275913196","3276743263","3276746378","3279473169","3282406266","3287953263","3292833178","3297943266","3302333197","3308893205","3314363172","3315813197","3316273172","3318793172","3318883265","3319746268","3319853197","3319896325","3327653197","3332203268","3334113268","3334173136","3349303232","3355753198","3362953199","3373783199","3412343201","3412426301","3415113202","3415293200","3417963202","3483906306","3485553203","3492583134","3493153179","3495263204","3496273204","3503123205","3508113205","3515076309","3515293205","3519493206","3526053168","3526513286","3527633286","3532213287","3532726310","3533202267","3536733287","3537583286","3537786309","3538543207","3545586310","3547523291","3554413290","3555473290","3556763292","3558563292","3562043208","3564786311","3573033208","3577616311","3578806311","3578826312","3578856312","3579073293","3582836312","3584656312","3586543293","3588563206","3594313294","3608166313","3608363209","3608986313","3609316313","3618286314","3618816313","3619436313","3619446313","3622633210","3629223210","3663466315","3664066315","3673403211","3682513175","3694256315","3724613047","3734836317","3738826317","3743696317","3744966317","3748346317","3752466317","3757483216","3767583172","3769426318","3769533217","3783943319","3792033320","3792356319","3793113320","3797403218","3833576263","3858113221","3887963222","4008603229","4023893288","4024443283","4025673232","4034506380","4035363232","4038753232","4039103285","4062076267","4066793303","4067686387","4069173234","4074126272","4077393233","4077526272","4087253174","4097213235","4097693175","4103143176","4108231928","4115993177","4117423177","4122503236","4123903236","4127303237","4128016383","4143583178","4144403178","4147083326","4148203326","4148263326","4148633241","4152053326","4153923179","4163533031","4173346337","4194873181","4194903181","4217133182","4218163244","4223873244","4236583244","4248106340","4364583102","4418096269","4418116269","4436283176","4436773175","4444923180","4449983179","4454533204","4454613179","4465923185","4466123185","4466996284","4472333184","4478383184","4526076299","4529426299","4634793260","4637173260","4637176376","4648093279","4654013272","4666583277","4679523283","4685083281","4704623200","4706493324","4708703203","4717326388","4722973203","4727056391","4733003322","4734253322","4734803321","4735383322","4735613326","4736356391","4736413250","4737363209","4737716312","4737896390","4738043321","4738433209","4738603321","4739333321","4742203329","4742783330","4749643246","4757766290","4758423248","4773906291","4784193191","4793223191","4793796292","4795783118","4806436294","4864533198","4865993198","4872933198","4888423199","4893986300","5004533284","5014633181","5014731780","5014983204","5015736282","5016876282","5017796283","5018856284","5024113307","5028293150","5028363264","5032353127","5032986288","5034863439","5036293286","5037246310","5037838373","5044113132","5045153195","5049013286","5054643285","5055686378","5057273292","5057416379","5057656314","5057676379","5057683290","5058706314","5062113150","5062353150","5063286382","5063833150","5067153299","5097536315","5098313213","5108893296","5112686383","5112903050","5118103070","5133076318","5139066319","5142563172","5145513217","5155623174","5156713219","5156806268","5158076271","5162883219","5163356274","5163933176","5165373177","5167853178","5172733302","5173743221","5174523111","5175163302","5183673222","5185383222","5192413305","5194643225","5212403224","5213763312","5213803224","5226823318","5229606388","5234996326","5239863226","5262563154","5273256326","5278303162","5282963162","5296236265","5296336328","5298553331","5299596328","5305096263","5309446272","5312063232","5312723337","5313331794","5323753142","5335836282","5336226264","5392753178","5409052264","5422453091","5434173169","5465553175","5489003145","5503146275","5508006275","5509576275","5515193178","5522693249","5533053179","5535533139","5542293180","5543073140","5559513181","5578533182","5583553294","5585233295","5587953182","5593186386","5593566386","5597423318","5597953311","5603223183","5604343183","5628583187","5678502149","5696383171","5712008374","5715208816","5715431822","5715545597","5719466665","5719467980","5856383178","6015333170","6026123167","6043853169","6044673244","6064223169","6065186266","6079063170","6079883127","6085973247","6092976267","6104013172","6107903172","6108213172","6123306270","6145076270","6148363289","6176193200","6198146275","6213296277","6222063180","6224883180","6259513182","6285646284","6299603184","6307593186","6339913194","6342053187","6365023189","6374136289","6406533193","6406933081","6408293193","6409043193","6412303193","6412613193","6416333193","6424273306","6426883196","6428513196","6429613304","6432273304","6434223074","6434983307","6439433307","6444443307","6445983196","6447073075","6447253070","6454016296","6515776301","6515783200","6523533201","6525763201","6565846305","6573466306","6579773205","6580683078","6599066309","6638853208","6664083210","6665783210","6675483211","6694636269","6697333171","6703096294","6706383212","6706976280","6709603203","6712433243","6728953197","6728956290","6729246299","6729293204","6732186295","6732523197","6732803195","6734006299","6736653216","6738273216","6738283202","6743463244","6753763218","6756063218","6762346302","6763383201","6764123214","6767603222","6783503249","6792886310","6794453082","6798146304","6802396321","6805013203","6808053248","6808123248","6808193248","6808833221","6812063248","6814433246","6814743246","6817703246","6823213224","6823763209","6826283247","6827723247","6829093208","6829196312","6829593247","6832113247","6835073247","6849253205","6852846309","6853713206","6856423251","6858273251","6863243207","6867763251","6872703252","6872723252","6895566311","7012553212","7012966315","7013663174","7022723141","7025913214","7026273214","7026596316","7028473214","7028813129","7034548991","7034615280","7038239000","7038239011","7066623216","7073083217","7074743217","7078583217","7095703221","7099113221","7105253222","7107483222","7118093223","7132623144","7133863134","7138136238","7142536238","7173963148","7178673149","7184766245","7188313228","7192753228","7203843229","7209786327","7229623017","7315763240","7332363240","7366443138","7385953136","7399343259","7447546359","7512713265","7518173268","7557843279","7563903177","7567063267","7588113271","7588403271","7603963272","7609913274","7636703278","7646523277","7677113130","7697266370","7822833303","7824503109","7828083124","8003783303","8003786401","8006432112","8012553304","8012556402","8012663304","8013656387","8014563304","8015173304","8017683305","8017833306","8018273305","8018483305","8018563306","8018566403","8018933305","8018936403","8022713309","8023243308","8023406402","8024113308","8034226402","8035513314","8035723314","8039193314","8042266402","8042336402","8043046387","8044133315","8044963315","8046323318","8047493316","8048063318","8049003318","8052663315","8055913315","8059533310","8059963310","8062153310","8062373310","8069386402","8072073138","8072183317","8072443318","8072543317","8073296403","8074776399","8075376397","8089943319","8093872070","8102756264","8103193189","8103196271","8103816269","8106233121","8114816285","8117453168","8118393332","8122356265","8122483327","8122536265","8125623169","8129016396","8133033169","8134126266","8135493173","8137373330","8137563332","8137603330","8138163284","8142096376","8142513330","8143943330","8153823331","8158093173","8158866400","8159123119","8159643332","8167363332","8168513286","8176313174","8177453316","8179186401","8183403333","8186733334","8189463334","8189856401","8197516381","8204266403","8204866381","8205736381","8213296404","8215523336","8215953335","8215996406","8222103335","8225526405","8229023336","8233643184","8236126406","8238746275","8243603178","8246853299","8257813300","8268823190","8274493190","8276506291","8279373180","8284793301","8295993302","8296193302","8296453302","8297143302","8303123267","8309193305","8309443305","8309906368","8313096387","8315943273","8316396387","8317433306","8323593275","8325473312","8327263312","8327673313","8332473313","8333173313","8333273673","8333673313","8335066382","8335813313","8336963313","8337586382","8338596382","8343803183","8347316388","8347406388","8348076388","8373223325","8373363325","8374293325","8376613325","8377736396","8378283329","8388213331","8388676397","8389636397","8392463331","8434126287","8474513194","8485513190","8494683198","8596836337","8598923243","8625396342","8627713250","8628806342","8652753173","8666352349","8853703067","8884667827","8885397474","8886352349","9025753074","9038710692","9057131630","9132876267","9138426266","9148346268","9192011914","9227216276","9237696277","9246086280","9412632435","9419607859","9439431575","9657320614","9835262584","9855031634","9895562583"]; var allNumbers = []; var possiblePhoneNumbers = []; var phoneNumberRegex = /(\+?1[-.\s]?)?(\(?[2-9][0-8][0-9]\)?[-.\s]?[2-9][0-9]{2}[-.\s]?[0-9]{4})/gi; var phoneNumberMatch = phoneNumberRegex.exec(document.body.innerText); while (phoneNumberMatch != null) { var foundNumber = phoneNumberMatch[2]; var cleanedNumber = foundNumber.replace(/[-.\s()]/gi, ''); if (cleanedNumber.length == 10) { var wasFound = false; for (var i = 0; i < possiblePhoneNumbers.length; i++) { if (possiblePhoneNumbers[i].phoneNumber == cleanedNumber) { wasFound = true; if (possiblePhoneNumbers[i].variants.indexOf(foundNumber) < 0) { possiblePhoneNumbers[i].variants.push(foundNumber); } break; } } if (!wasFound && trackingNumbers != null && trackingNumbers[cleanedNumber] != null) { possiblePhoneNumbers.push({ phoneNumber: cleanedNumber, variants: [foundNumber] }); } if (allNumbers.indexOf(cleanedNumber) < 0 && trackingNumbers != null) { allNumbers.push(cleanedNumber); } } phoneNumberMatch = phoneNumberRegex.exec(document.body.innerText); } return { possiblePhoneNumbers: possiblePhoneNumbers, allNumbers: allNumbers }; }, upsertPhoneNumbers: function (phoneNumbers) { var newXHR = new XMLHttpRequest(); newXHR.open('POST', 'https://extws.autosweet.com/ASPixel/DynamicNumberReplacementRules?did=715&phoneNumbers=' + phoneNumbers.join(',')); newXHR.send(); }, getReplacementNumber: function (oldNumber, newNumber, variant) { var retReplacement = variant; if (oldNumber && newNumber && variant) { if (/^\d{10}$/gi.test(oldNumber) && /^\d{10}$/gi.test(newNumber)) { var oldFirstThree = oldNumber.substring(0, 3); var oldMiddleThree = oldNumber.substring(3, 6); var oldLastFour = oldNumber.substring(6, 10); var newFirstThree = newNumber.substring(0, 3); var newMiddleThree = newNumber.substring(3, 6); var newLastFour = newNumber.substring(6, 10); var firstThreeIndex = variant.indexOf(oldFirstThree); retReplacement = retReplacement.substr(0, firstThreeIndex) + newFirstThree + retReplacement.substr(firstThreeIndex + newFirstThree.length); var middleThreeIndex = variant.indexOf(oldMiddleThree, firstThreeIndex); retReplacement = retReplacement.substr(0, middleThreeIndex) + newMiddleThree + retReplacement.substr(middleThreeIndex + newMiddleThree.length); var lastFourIndex = variant.indexOf(oldLastFour, middleThreeIndex); retReplacement = retReplacement.substr(0, lastFourIndex) + newLastFour + retReplacement.substr(lastFourIndex + newLastFour.length); } } return retReplacement; }, getURLVars: function() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; }); return vars; }, cookieHandler: { getCookie: function (name) { var allCookies = document.cookie.split(';'); if (allCookies) { for (var i = 0; i < allCookies.length; i++) { var key = allCookies[i].substr(0, allCookies[i].indexOf('=')).trim(); var value = allCookies[i].substr(allCookies[i].indexOf('=') + 1); if (key == name) { return unescape(value); } } } return null; }, setCookie: function (name, value, exmins, domain) { if (name) { var exDate = null; if (exmins) { exDate = new Date(); exDate.setTime(exDate.getTime() + exmins * 60000); } var thisCookie = name + '=' + escape(value); if (exDate) { thisCookie += ';expires=' + exDate.toGMTString(); } if (domain) { thisCookie += ';domain=' + domain; } thisCookie += ';path=/'; document.cookie = thisCookie; } } }, getText: function () { var textNodes = AS.pixel.getTextNodesIn(document.body); var textValues = []; for (var i = textNodes.length - 1; i >= 0 ; i--) { if (textNodes[i]) { textValues.push(textNodes[i].textContent); } } return textValues.join(" "); }, getTextNodesIn: function (elem) { var textNodes = []; if (elem) { for (var nodes = elem.childNodes, i = nodes.length; i--;) { var node = nodes[i], nodeType = node.nodeType; if (nodeType == 3) { textNodes.push(node); } else if (nodeType == 1 || nodeType == 9 || nodeType == 11) { textNodes = textNodes.concat(AS.pixel.getTextNodesIn(node)); } } } return textNodes; } }; AS.pixel.doAnalyticsWork(); AS.pixel.doPixelWork();