1var tracking_store_data = tracking_store_data||{}; 2(function(root, factory) { 3 4 if (typeof exports !== 'undefined') { 5 if (typeof module !== 'undefined' && module.exports) { 6 exports = module.exports = factory(root, exports); 7 } 8 } else if (typeof define === 'function' && define.amd) { 9 define(['exports'], function(exports) { 10 root.Lockr = factory(root, exports); 11 }); 12 } else { 13 root.Lockr = factory(root, {}); 14 } 15 16 }(this, function(root, Lockr) { 17 'use strict'; 18 19 if (!Array.prototype.indexOf) { 20 Array.prototype.indexOf = function(elt /*, from*/) 21 { 22 var len = this.length >>> 0; 23 24 var from = Number(arguments[1]) || 0; 25 from = (from < 0) 26 ? Math.ceil(from) 27 : Math.floor(from); 28 if (from < 0) 29 from += len; 30 31 for (; from < len; from++) 32 { 33 if (from in this && 34 this[from] === elt) 35 return from; 36 } 37 return -1; 38 }; 39 } 40 41 Lockr.prefix = ""; 42 43 Lockr._getPrefixedKey = function(key, options) { 44 options = options || {}; 45 46 if (options.noPrefix) { 47 return key; 48 } else { 49 return this.prefix + key; 50 } 51 52 }; 53 54 Lockr.set = function (key, value, options) { 55 var query_key = this._getPrefixedKey(key, options); 56 57 try { 58 localStorage.setItem(query_key, JSON.stringify({"data": value})); 59 } catch (e) { 60 if (console) console.warn("Lockr didn't successfully save the '{"+ key +": "+ value +"}' pair, because the localStorage is full."); 61 } 62 }; 63 64 Lockr.get = function (key, missing, options) { 65 var query_key = this._getPrefixedKey(key, options), 66 value; 67 68 try { 69 value = JSON.parse(localStorage.getItem(query_key)); 70 } catch (e) { 71 if(localStorage[query_key]) { 72 value = {data: localStorage.getItem(query_key)}; 73 } else{ 74 value = null; 75 } 76 } 77 78 if(!value) { 79 return missing; 80 } 81 else if (typeof value === 'object' && typeof value.data !== 'undefined') { 82 return value.data; 83 } 84 }; 85 86 Lockr.sadd = function(key, value, options) { 87 var query_key = this._getPrefixedKey(key, options), 88 json; 89 90 var values = Lockr.smembers(key); 91 92 if (values.indexOf(value) > -1) { 93 return null; 94 } 95 96 try { 97 values.push(value); 98 json = JSON.stringify({"data": values}); 99 localStorage.setItem(query_key, json); 100 } catch (e) { 101 console.log(e); 102 if (console) console.warn("Lockr didn't successfully add the "+ value +" to "+ key +" set, because the localStorage is full."); 103 } 104 }; 105 106 Lockr.smembers = function(key, options) { 107 var query_key = this._getPrefixedKey(key, options), 108 value; 109 110 try { 111 value = JSON.parse(localStorage.getItem(query_key)); 112 } catch (e) { 113 value = null; 114 } 115 116 return (value && value.data) ? value.data : []; 117 }; 118 119 Lockr.sismember = function(key, value, options) { 120 return Lockr.smembers(key).indexOf(value) > -1; 121 }; 122 123 Lockr.keys = function() { 124 var keys = []; 125 var allKeys = Object.keys(localStorage); 126 127 if (Lockr.prefix.length === 0) { 128 return allKeys; 129 } 130 131 allKeys.forEach(function (key) { 132 if (key.indexOf(Lockr.prefix) !== -1) { 133 keys.push(key.replace(Lockr.prefix, '')); 134 } 135 }); 136 137 return keys; 138 }; 139 140 Lockr.getAll = function (includeKeys) { 141 var keys = Lockr.keys(); 142 143 if (includeKeys) { 144 return keys.reduce(function (accum, key) { 145 var tempObj = {}; 146 tempObj[key] = Lockr.get(key); 147 accum.push(tempObj); 148 return accum; 149 }, []); 150 } 151 152 return keys.map(function (key) { 153 return Lockr.get(key); 154 }); 155 }; 156 157 Lockr.srem = function(key, value, options) { 158 var query_key = this._getPrefixedKey(key, options), 159 json, 160 index; 161 162 var values = Lockr.smembers(key, value); 163 164 index = values.indexOf(value); 165 166 if (index > -1) 167 values.splice(index, 1); 168 169 json = JSON.stringify({"data": values}); 170 171 try { 172 localStorage.setItem(query_key, json); 173 } catch (e) { 174 if (console) console.warn("Lockr couldn't remove the "+ value +" from the set "+ key); 175 } 176 }; 177 178 Lockr.rm = function (key) { 179 var queryKey = this._getPrefixedKey(key); 180 181 localStorage.removeItem(queryKey); 182 }; 183 184 Lockr.flush = function () { 185 if (Lockr.prefix.length) {
186 Lockr.keys().forEach(function(key) { 187 localStorage.removeItem(Lockr._getPrefixedKey(key)); 188 }); 189 } else { 190 localStorage.clear(); 191 } 192 }; 193 return Lockr; 194 195 })); 196 197if(typeof btoa != 'function'){ 198 function btoa(str) {return str}; 199} 200if(typeof atob != 'function'){ 201 function atob(str) {return str}; 202} 203var tmttracker = tmttracker|| { 204 is_initialized: false, 205 206 // à¹à¸à¸à¸²à¸° 3 à¸à¸´à¸¥à¸à¹à¸à¸µà¹à¹à¸à¹à¸²à¸à¸±à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸¥à¸ cookie (à¸à¸±à¸§à¹à¸¥à¹à¸, server à¸à¹à¸²à¸à¸à¹à¸²à¸ $_COOKIE['tmtshpt']) 207 // สà¹à¸§à¸ payload à¸à¸µà¹à¹à¸«à¸¥à¸·à¸à¸à¸±à¹à¸à¸«à¸¡à¸ (utm, arrays, pageview ฯลฯ) à¹à¸à¹à¸à¹à¸ localStorage 208 IDENTITY_KEYS: ['uid', 'tid', 'line_id'], 209 210 isLocalHost: function() { 211 return location.hostname === 'localhost' 212 || location.hostname.indexOf('local') === 0 213 || location.hostname === '127.0.0.1'; 214 }, 215 216 delCookie: function(key) { 217 var base = key + '= ; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT'; 218 document.cookie = base; 219 if(!tmttracker.isLocalHost()){ 220 document.cookie = base + '; domain=.toyota.co.th'; 221 } 222 try { Lockr.rm(key); } catch(e){} 223 }, 224 225 timestamp:(function() { 226 var now = new Date(); 227 return now.getTime(); 228 })(), 229 230 // à¹à¸à¹à¸ identity (uid/tid/line_id) à¹à¸à¹à¸ base64 JSON ลภcookie à¹à¸«à¹ server à¸à¹à¸²à¸à¹à¸à¹à¹à¸«à¸¡à¸·à¸à¸à¹à¸à¸´à¸¡ 231 // รูà¸à¹à¸à¸ cookie à¹à¸¡à¹à¹à¸à¸¥à¸µà¹à¸¢à¸ (base64 à¸à¸à¸ JSON) à¹à¸à¹à¸¡à¸µà¹à¸à¹ 3 à¸à¸´à¸¥à¸à¹ à¸à¸¶à¸à¹à¸¡à¹à¸¡à¸µà¸à¸²à¸à¸à¸ limit 4KB 232 setCookie: function(key, value) { 233 tracking_store_data = value; 234 235 // 1) payload à¸à¹à¸à¸à¹à¸«à¸à¹ -> localStorage (à¹à¸¡à¹à¸à¸´à¸ size limit) 236 try { Lockr.set(key, value); } catch(e){ 237 if (console) console.warn('tmttracker: localStorage save failed', e); 238 } 239 240 // 2) identity à¸à¸±à¸§à¹à¸¥à¹à¸ -> cookie (à¹à¸«à¹à¸à¸±à¹à¸ PHP à¸à¹à¸²à¸ uid/tid/line_id) 241 var identity = {}; 242 tmttracker.IDENTITY_KEYS.forEach(function(k){ 243 if (typeof value[k] !== 'undefined' && value[k] !== null) identity[k] = value[k]; 244 }); 245 246 var expires = new Date(); 247 var days = 30; //30 days 248 expires.setTime(expires.getTime()+(3600000*24*days)); 249 var json_str = JSON.stringify(identity); 250 var str_store = window.btoa(unescape(encodeURIComponent(json_str))); 251 252 var attrs = '=' + str_store + ';path=/;expires=' + expires.toUTCString() + ';SameSite=Lax'; 253 if(tmttracker.isLocalHost()){ 254 document.cookie = key + attrs; 255 }else{ 256 document.cookie = key + attrs + ';domain=.toyota.co.th;Secure'; 257 } 258 }, 259 260 // à¸à¹à¸²à¸ payload à¹à¸à¹à¸¡à¸à¸²à¸ localStorage à¹à¸¥à¹à¸§ merge identity à¸à¸²à¸ cookie (à¹à¸«à¸¥à¹à¸à¸à¸§à¸²à¸¡à¸à¸£à¸´à¸à¸£à¹à¸§à¸¡à¸à¸±à¸ server) 261 getCookie: function(key) { 262 // payload à¹à¸à¹à¸¡à¸à¸²à¸ localStorage 263 var stored = null; 264 try { stored = Lockr.get(key, null); } catch(e){ stored = null; } 265 if (stored && typeof stored !== 'object') stored = null; 266 267 // identity à¸à¸²à¸ cookie (base64 JSON) 268 var cookieData = {}; 269 var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)'); 270 if(keyValue){ 271 try { 272 var crypted_str = decodeURIComponent(escape(window.atob(keyValue[2]))); 273 cookieData = JSON.parse(crypted_str) || {}; 274 } catch(e){ cookieData = {}; } 275 } 276 277 if (stored) { 278 // cookie à¹à¸à¹à¸à¸à¸±à¸§à¸à¸±à¸à¸ªà¸´à¸ uid/tid à¹à¸«à¹ client à¸à¸±à¸ server à¸à¸£à¸à¸à¸±à¸ 279 for (var k in cookieData) { if(cookieData[k]) stored[k] = cookieData[k]; } 280 return stored; 281 } 282 // localStorage วà¹à¸²à¸/à¸à¸¹à¸à¸¥à¹à¸²à¸ à¹à¸à¹ cookie ยัà¸à¸¡à¸µ uid -> à¸à¸¹à¹à¸à¸±à¸§à¸à¸à¸à¸¥à¸±à¸à¸¡à¸² 283 if (cookieData && cookieData.uid) return cookieData; 284 return {}; 285 }, 286 getUrlParameter: function() { 287 var sPageURL = decodeURIComponent(window.location.search.substring(1)), 288 sURLVariables = sPageURL.split('&'), 289 sParameterName, 290 i; 291 var params = []; 292 for (i = 0; i < sURLVariables.length; i++) { 293 sParameterName = sURLVariables[i].split('='); 294 if(sParameterName.length == 2) params[sParameterName[0]] = sParameterName[1]; 295 296 } 297 return params; 298 }, 299 300 getValueById: function(id){
301 if(document.getElementById(id)) 302 return document.getElementById(id).value; 303 return ''; 304 }, 305 getCampaign: function(){ 306 var Campaign_source = tmttracker.getValueById("Campaign_source"); 307 var Campaign_medium = tmttracker.getValueById("Campaign_medium"); 308 var Campaign_name = tmttracker.getValueById("Campaign_name"); 309 var Campaign_content = tmttracker.getValueById("Campaign_content"); 310 var Campaign_term = tmttracker.getValueById("Campaign_term"); 311 var Campaign_code = tmttracker.getValueById("Campaign_code"); 312 313 if(typeof Campaign_source === 'undefined' && typeof Campaign_medium === 'undefined' && typeof Campaign_medium === 'undefined'){ 314 if(Campaign_source === "" && Campaign_medium === "" && Campaign_medium === ""){ 315 Campaign_source = 'direct' 316 Campaign_medium = 'direct' 317 Campaign_name = 'direct' 318 Campaign_content = 'direct' 319 Campaign_term = 'direct' 320 Campaign_code = 'direct' 321 } 322 } 323 324 tracking_store_data['utm_source'] = Campaign_source; 325 tracking_store_data['utm_medium'] = Campaign_medium; 326 tracking_store_data['utm_campaign'] = Campaign_name; 327 tracking_store_data['utm_content'] = Campaign_content; 328 tracking_store_data['utm_term'] = Campaign_term; 329 330 return { 331 utm_source: Campaign_source, 332 utm_medium:Campaign_medium, 333 utm_name: Campaign_name, 334 utm_content: Campaign_content, 335 utm_term: Campaign_term, 336 Campaign_code: Campaign_code 337 } 338 339 }, 340 uniqueId : function() { 341 // desired length of Id 342 var idStrLen = 19; 343 var idStr = ((new Date()).getTime()-1500000000000).toString(36) ; 344 // similar to above, complete the Id using random, alphanumeric characters 345 do { 346 idStr += (Math.floor((Math.random() * 35))).toString(36); 347 } while (idStr.length < idStrLen); 348 349 return (idStr); 350 }, 351 update_calculate_model: function($val){ 352 353 tracking_store_data['calculate'] = 'Y'; 354 if( tracking_store_data['calculate_model'].indexOf($val) === -1){ 355 tracking_store_data['calculate_model'].push($val); 356 } 357 358 tmttracker.update(); 359 }, 360 update_brochure_model: function($val){ 361 362 if( tracking_store_data['brochure_model'].indexOf($val) === -1){ 363 tracking_store_data['brochure_model'].push($val); 364 } 365 366 tmttracker.update(); 367 368 }, 369 pageview: function(){ 370 if(tracking_store_data['lastpage'] != window.location.href){ 371 tracking_store_data['lastpage'] = window.location.href; 372 tracking_store_data['pageview'] ++; 373 tmttracker.update(); 374 } 375 }, 376 update: function(data){ 377 if( data ) 378 $.extend(tracking_store_data , data ); 379 tmttracker.setCookie('tmtshpt',tracking_store_data); 380 }, 381 save: function(data){ 382 383 $.extend(tracking_store_data , data ); 384 if ( tracking_store_data.step == 4){ 385 tracking_store_data['total_register']++; 386 } 387 388 tracking_store_data['timespent'] = (new Date()).getTime() - tracking_store_data['starttime'] ; 389 390 391 $.post("/shoppingtool/index.php?app=shopping_tool&fnc=save_tracker",tracking_store_data,function(res){ 392 // Todo after save tracker success (res == 'OK') 393 // if(res == "RESET_TID"){ 394 // tmttracker.new_tracker_transaction(); 395 // } 396 397 }); 398 }, 399 event_click: function(data){ 400 401 post_data = $.extend({ 402 uid: tracking_store_data.uid, 403 tid: tracking_store_data.tid, 404 page_type:tracking_submit.submit_form, 405 dealer_code: '', 406 tel_type:'pin', 407 tel_no: '' 408 } , data ); 409 $.post("/shoppingtool/index.php?app=shopping_tool&fnc=tracker_event_click",post_data,function(res){ 410 411 },'json'); 412 }, 413 414 init_tracking_fields: function (CampaignType){ 415 416 var line_campaign_param = ""; 417 var line_input_fields = ""; 418 if(typeof line_liff_data != "undefined" && line_liff_data.channel ){ 419 line_campaign_param = "&source="+line_liff_data.source+"&link="+CampaignType+"&channel="+line_liff_data.channel; 420 line_input_fields = ` 421 <input type="hidden" name="un_id" value="`+line_liff_data.un_id+`" /> 422 <input type="hidden" name="CampaignLocation" value="`+line_liff_data.source+`" /> 423 <input type="hidden" name="channel" value="`+line_liff_data.source+`" /> 424 `; 425 426 } 427 $.get("/shoppingtool/index.php?app=shopping_tool&fnc=init_tracking_fields&CampaignType="+CampaignType+line_campaign_param,function(res){ 428 $("#main_form").prepend(res+line_input_fields); 429 tmttracker.getCampaign(); 430 431 tmttracker.save(tracking_submit); // step 1 432 if( typeof afterInitCampaign == 'function'){ 433 afterInitCampaign(); 434 } 435 }); 436 437 }, 438 ischange_utm_campaign: function ( $querys){ 439 440 if( $querys['utm_source'] && 441 ( 442 tracking_store_data['utm_source'] 443 + tracking_store_data['utm_medium'] 444 + tracking_store_data['utm_campaign'] 445 + tracking_store_data['utm_content'] 446 + tracking_store_data['utm_term'] 447 != 448 $querys['utm_source'] 449 + $querys['utm_medium'] 450 + $querys['utm_campaign'] 451 + $querys['utm_content'] 452 + $querys['utm_term'] 453 ) 454 ){ 455 456 tracking_store_data['lead_source'] = $querys['utm_source']; 457 tracking_store_data['utm_source'] = $querys['utm_source']; 458 tracking_store_data['utm_medium'] = $querys['utm_medium'] ; 459 tracking_store_data['utm_campaign'] = $querys['utm_campaign'] ; 460 tracking_store_data['utm_content'] = $querys['utm_content'] ; 461 tracking_store_data['utm_term'] = $querys['utm_term'] ; 462 return true; 463 } 464 465 466 if( $querys['Campaign_source'] && 467 ( 468 tracking_store_data['utm_source'] 469 + tracking_store_data['utm_medium'] 470 + tracking_store_data['utm_campaign'] 471 + tracking_store_data['utm_content'] 472 + tracking_store_data['utm_term'] 473 + tracking_store_data['campaign_code'] 474 != 475 $querys['Campaign_source'] 476 + $querys['Campaign_medium'] 477 + $querys['Campaign_name'] 478 + $querys['Campaign_content'] 479 + $querys['Campaign_term'] 480 + $querys['campaign_code'] 481 ) 482 ){ 483 484 tracking_store_data['lead_source'] = $querys['Campaign_source']; 485 tracking_store_data['utm_source'] = $querys['Campaign_source']; 486 tracking_store_data['utm_medium'] = $querys['Campaign_medium'] ; 487 tracking_store_data['utm_campaign'] = $querys['Campaign_name'] ; 488 tracking_store_data['utm_content'] = $querys['Campaign_content'] ; 489 tracking_store_data['utm_term'] = $querys['Campaign_term'] ; 490 tracking_store_data['campaign_code'] = $querys['campaign_code']; 491 return true; 492 493 } 494 495 return false;
496 497 }, 498 transaction_type: 'T', 499 newTID: function ( ){ 500 if(typeof tmttracker_transaction_type != "undefined"){ 501 tmttracker.transaction_type = tmttracker_transaction_type; 502 } 503 return tmttracker.transaction_type + tmttracker.uniqueId(); 504 }, 505 empty_tracker_transaction: function ( $querys = null ){ 506 $t_spt = {}; 507 $t_spt['tid'] = ''; 508 $t_spt['uid'] = tracking_store_data['uid']; 509 $t_spt['total_register'] = tracking_store_data['total_register']; 510 $t_spt['brochure_model'] = []; 511 $t_spt['calculate'] = 'N'; 512 $t_spt['calculate_model'] = []; 513 $t_spt['dealer_search'] = 'N'; 514 $t_spt['dealer_website_click'] = 'N'; 515 $t_spt['career_visit'] = 'N'; 516 517 $t_spt['starttime'] = (new Date()).getTime(); 518 $t_spt['mode'] = "renew"; 519 520 $t_spt['lead_source'] = tracking_store_data['lead_source']; 521 if($querys != null && $querys.length > 0){ 522 523 $t_spt['utm_source'] = $querys['utm_source']; 524 $t_spt['utm_medium'] = $querys['utm_medium']; 525 $t_spt['utm_campaign'] = $querys['utm_campaign']; 526 $t_spt['utm_content'] = $querys['utm_content']; 527 $t_spt['utm_term'] = $querys['utm_term']; 528 $t_spt['campaign_code'] = $querys['campaign_code']; 529 } 530 tracking_store_data = $t_spt; 531 532 tmttracker.update($t_spt); 533 }, 534 new_tracker_transaction: function ( $querys = null ){ 535 if(typeof tmttracker_transaction_type != "undefined"){ 536 tmttracker.transaction_type = tmttracker_transaction_type; 537 } 538 539 var current_transaction_type = tracking_store_data['tid'].substring(0,1); 540 if( tmttracker.transaction_type != current_transaction_type ){ 541 tmttracker.reset_tracker_transaction(); 542 } 543 544 }, 545 reset_tracker_transaction: function ( $querys = null ){ 546 547 $t_spt = {}; 548 $t_spt['tid'] = tmttracker.newTID(); 549 $t_spt['uid'] = tracking_store_data['uid']; 550 $t_spt['total_register'] = tracking_store_data['total_register']; 551 $t_spt['brochure_model'] = []; 552 $t_spt['calculate'] = 'N'; 553 $t_spt['calculate_model'] = []; 554 $t_spt['dealer_search'] = 'N'; 555 $t_spt['dealer_website_click'] = 'N'; 556 $t_spt['career_visit'] = 'N'; 557 558 $t_spt['starttime'] = (new Date()).getTime(); 559 $t_spt['pageview'] = 0; 560 $t_spt['mode'] = "renew"; 561 562 $t_spt['lead_source'] = tracking_store_data['lead_source']; 563 if($querys != null && $querys.length > 0){ 564 565 $t_spt['utm_source'] = $querys['utm_source']; 566 $t_spt['utm_medium'] = $querys['utm_medium']; 567 $t_spt['utm_campaign'] = $querys['utm_campaign']; 568 $t_spt['utm_content'] = $querys['utm_content']; 569 $t_spt['utm_term'] = $querys['utm_term']; 570 $t_spt['campaign_code'] = $querys['campaign_code']; 571 } 572 tracking_store_data = $t_spt; 573 574 tmttracker.update($t_spt); 575 }, 576 get_tracking_stored: function (){ 577 tracking_store_data = tmttracker.getCookie('tmtshpt'); 578 579 if( typeof (tracking_store_data['uid']) == 'undefined' ){ 580 old_tmtdl = tmttracker.getCookie('tmtdl'); 581 if(typeof old_tmtdl.uid != 'undefined'){ 582 tracking_store_data = old_tmtdl 583 tmttracker.delCookie('tmtdl'); 584 }else{ 585 tracking_store_data = {}; 586 } 587 588 } 589 var $querys = tmttracker.getUrlParameter(); 590 $lead_source = ''; 591 if ($querys['Campaign_source']) { 592 $lead_source = $querys['Campaign_source']; 593 594 tracking_store_data['lead_source'] = $querys['Campaign_source'] ; 595 tracking_store_data['utm_source'] = $querys['Campaign_source'] ; 596 tracking_store_data['utm_medium'] = $querys['Campaign_medium'] ; 597 tracking_store_data['utm_campaign'] = $querys['Campaign_name'] ; 598 tracking_store_data['utm_content'] = $querys['Campaign_content'] ; 599 tracking_store_data['utm_term'] = $querys['Campaign_term'] ; 600 tracking_store_data['campaign_code'] = $querys['Campaign_code'] ; 601 602 }else if( $querys['utm_source'] ){ 603 $lead_source = $querys['utm_source']; 604 605 tracking_store_data['lead_source'] = $querys['utm_source']; 606 tracking_store_data['utm_source'] = $querys['utm_source']; 607 tracking_store_data['utm_medium'] = $querys['utm_medium']; 608 tracking_store_data['utm_campaign'] = $querys['utm_campaign']; 609 tracking_store_data['utm_content'] = $querys['utm_content']; 610 tracking_store_data['utm_term'] = $querys['utm_term']; 611 tracking_store_data['campaign_code'] = $querys['Campaign_code'] ; 612 } 613 else{ 614 tracking_store_data['lead_source'] = 'direct'; 615 delete tracking_store_data['utm_source']; 616 delete tracking_store_data['utm_medium']; 617 delete tracking_store_data['utm_campaign']; 618 delete tracking_store_data['utm_content']; 619 delete tracking_store_data['utm_term']; 620 } 621 622 if(typeof line_liff_data != "undefined" && line_liff_data.channel ){ 623 $lead_source = line_liff_data.source; 624 $channel = line_liff_data.channel; 625 $link = tracking_submit.submit_form; 626 627 tracking_store_data['lead_source'] = $lead_source; 628 $querys = tmttracker.getCampaign(); 629 } 630 631 // new visit 632 // todo make new uid + tid 633 634 if( tracking_store_data == null || typeof (tracking_store_data['uid']) == 'undefined' ){ 635 636 tracking_store_data['uid'] = 'U'+tmttracker.uniqueId(); 637 tracking_store_data['tid'] = ''; 638 tracking_store_data['mode'] = "new"; 639 tracking_store_data['brochure_model'] = []; 640 tracking_store_data['calculate'] = 'N'; 641 tracking_store_data['calculate_model'] = []; 642 tracking_store_data['dealer_search'] = 'N'; 643 tracking_store_data['dealer_website_click'] = 'N'; 644 tracking_store_data['career_visit'] = 'N'; 645 tracking_store_data['total_register'] = 0; 646 tracking_store_data['pageview'] = 0; 647 tracking_store_data['lead_source'] = $lead_source || 'direct'; 648 tracking_store_data['starttime'] = (new Date()).getTime(); 649 650 tracking_store_data['campaign_code'] = $querys['Campaign_code'] ; 651
652 tmttracker.update(); 653 } 654 tmttracker.pageview(); 655 } 656 657 658}; 659 660var isGtagLoaded = (typeof isCustomGtagLoad != "undefined")?isCustomGtagLoad: false; 661if(!tmttracker.is_initialized ){ 662 tmttracker.get_tracking_stored(); 663 if( typeof custom_update_tmttracker == 'function'){ 664 custom_update_tmttracker(); 665 } 666 tmttracker.is_initialized = true; 667}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.