motortrak={data:null,pageViewId:"5dac18f451a19",clientCode:"dws.ferrari",onVehicleHitsUpdate:null,onVehicleSavesUpdate:null,searchMeta:{},trackingMeta:{},request:function(url,params){if(!params){params={};} var xmlHttpReq=false;if(window.XMLHttpRequest){xmlHttpReq=new XMLHttpRequest();} else if(window.ActiveXObject){try{xmlHttpReq=new ActiveXObject("Msxml2.XMLHTTP");} catch(e){try{xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");} catch(e){alert("Your browser does not support AJAX!");return false;}}} url='/tracking/'+url;xmlHttpReq.open('POST',url,true);xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8');xmlHttpReq.withCredentials=true;xmlHttpReq.onreadystatechange=function(){if(this.readyState==4){if(this.status==200){var result=this.responseText;if(result){motortrak.response(result);}}}};params.pageViewId=this.pageViewId;params.clientCode=this.clientCode;params.year=params.year;params.make=params.make;params.model=params.model;var paramsOut=JSON.stringify(params,function(k,v){if(v instanceof Array){var o={};for(var ind in v){if(v.hasOwnProperty(ind)){o[ind]=v[ind];}} return o;} return v;});xmlHttpReq.send(paramsOut);},response:function(result){var data=JSON.parse(result);this.updateValues(data);},updateValues:function(data){if(data){this.vid=data.vid;if(data.hitcount>0){this.updateHitCounterDisplay(data.vid,data.hitcount);} if(data.savecount!=undefined){this.updateSaveCounterDisplay(data.vid,data.savecount);}}},triggerEvent:function(eventType,vid,value){if(document.createEvent!=undefined){var event=document.createEvent('Event');event.initEvent(eventType,true,true);event.detail={vid:vid,value:value};} else{var event=new CustomEvent(eventType,{detail:{vid:vid,value:value},bubbles:true,cancelable:true});} document.dispatchEvent(event);},vehicleHits:function(id){this.request('hits/increment/'+id)},getAttribute:function(item,attribute){var result;if(item.hasAttribute(attribute)){result=item.getAttribute(attribute);} return result;},incrementVehicleSaves:function(item){var id=item.value;var params={};params.year=this.getAttribute(item,'data-srp-year');params.make=this.getAttribute(item,'data-srp-make');params.model=this.getAttribute(item,'data-srp-model');this.request('saves/increment/'+id,params)},decrementVehicleSaves:function(item){var id=item.value;var params={};params.year=this.getAttribute(item,'data-srp-year');params.make=this.getAttribute(item,'data-srp-make');params.model=this.getAttribute(item,'data-srp-model');this.request('saves/decrement/'+id,params)},pageMeta:function(id){var params={};params.location=window.location;params.searchMeta=this.searchMeta;params.trackingMeta=this.trackingMeta;this.request('page/meta/',params);},updateHitCounterDisplay:function(vid,v){var countDisplay=document.getElementById('motortrak-vehicle-hits');if(countDisplay!=undefined){countDisplay.innerText=v;} else{countDisplay=document.querySelectorAll('[data-motortrak-vehicle-hits]');if((countDisplay!=undefined)&&(countDisplay.length>0)){countDisplay=countDisplay[0];countDisplay.innerText=v;}} if(this.onVehicleHitsUpdate!=undefined){this.onVehicleHitsUpdate(v);} this.triggerEvent('VehicleHitsUpdate',vid,v);},updateSaveCounterDisplay:function(vid,v){var countDisplay=document.getElementById('motortrak-vehicle-saves');if(countDisplay!=undefined){countDisplay.innerText=v;} else{countDisplay=document.querySelectorAll('[data-motortrak-vehicle-saves]');if((countDisplay!=undefined)&&(countDisplay.length>0)){countDisplay=countDisplay[0];countDisplay.innerText=v;}} if(this.onVehicleSavesUpdate!=undefined){this.onVehicleSavesUpdate(v);} this.triggerEvent('VehicleSavesUpdate',vid,v);},processSearchMeta:function(name,value){name=name.substring(10,999);this.searchMeta[name]=value;},processSearchVehicleMeta:function(name,value){name=name.substring(9,999);this.searchMeta[name]=value;},processTrackingMeta:function(name,value){name=name.substring(15,999);this.trackingMeta[name]=value;},harvestMeta:function(){var txt="";var i;if(document.body.attributes.length>0){for(i=0;i