if(!window.console){window.console={log:function(a){},error:function(a){},dir:function(){}};}var windowAlert=window.alert;window.alert=function(a){windowAlert($.isPlainObject(a)?$.toJSON(a):a);};String.prototype.format=function(){var b=this;for(var a=0;a<arguments.length;a++){b=b.replace(new RegExp("\\{"+a+"\\}","gm"),arguments[a]);}return b;};String.prototype.startsWith=function(b,a){if(!a){return this.indexOf(b)===0;}if(typeof(b)==="string"){b=b.toLowerCase();}return this.toLowerCase().indexOf(b)===0;};String.prototype.endsWith=function(b,a){var c=this.length-b.length;if(!a){return c>=0&&this.lastIndexOf(b)===c;}if(typeof(b)==="string"){b=b.toLowerCase();}return c>=0&&this.toLowerCase().lastIndexOf(b)===c;};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");};$.fn.toggleEnable=function(a){if(a){return this.removeAttr("disabled");}else{return this.attr("disabled","disabled");}};$.fn.display=function(a){if(a===false){a="none";}else{if(a===true){a="";}}return this.css("display",a);};$.fn.fastHtml=function(a){if(Browser.isMobile()){return this.each(function(){this.innerHTML=a;});}else{return this.html(a);}};function $c(a,d,c,b){var f=document.createElement(a);if(c){f.className=c;}if(b){f.setAttribute("type",b);}if(d){d.appendChild(f);}return f;}function $t(b,a){a.appendChild(document.createTextNode(b));}Tmatex={_blockCount:0,blockUI:function(a){if(a==undefined||!!a){if(!this._blockCount++){$("#shield").height(Math.max($(window).height(),parseInt(document.body.scrollHeight,10)));$("body").addClass("working");}}else{if(this._blockCount>0){if(!--this._blockCount){$("body").removeClass("working");}}}},scrollTo:function(f){var b=$(window),e=$(document),a=false,d="touchstart",h=function(){a=true;return true;};e.bind(d,h);e.height();var g=10;var c=50;window.setTimeout(function(){if(a||--g<=0){e.unbind(d,h);return;}b.scrollTop(f||1);window.setTimeout(arguments.callee,c);},c);},countProperties:function(c){var a=0;for(var b in c){a++;}return a;},arrayToHash:function(a){var c={};for(var b in a){c[a[b]]=1;}return c;},removeFromArray:function(d,b){$.each(b,function(f,e){delete d[e];});var a=[];for(var c=0;c<d.length;c++){if(d[c]!=undefined){a.push(d[c]);}}return a;},join:function(d){var b="";for(var c=1;c<arguments.length;c++){var a=arguments[c];if(a==undefined){continue;}if(typeof(a)=="string"){a=a.trim();if(a.length===0){continue;}}if(b.length>0){b+=d;}b+=a;}return b.length>0?b:undefined;}};Tmatex.Message={missingData:"Missing data",noEntriesSelected:"No entries selected.",nothingToDelete:"The list is already empty.",promptRemoveAllEntries:"Remove all entries?",promptRemoveEntries:function(a){return a===1?"Remove selected entry?":"Remove {0} selected entries?".format(a);}};(function(){var a=false,b=/xyz/.test(function(){xyz;})?(/\b_super\b/):(/.*/);Object.subClass=function(g){var f=this.prototype;a=true;var e=new this();a=false;for(var d in g){e[d]=typeof g[d]=="function"&&typeof f[d]=="function"&&b.test(g[d])?(function(h,i){return function(){var l=this._super;this._super=f[h];var j=i.apply(this,arguments);this._super=l;return j;};})(d,g[d]):g[d];}function c(){if(!a&&this.init){this.init.apply(this,arguments);}}c.prototype=e;c.constructor=c;c.subClass=arguments.callee;return c;};Function.prototype.bind=function(){var e=this,d=Array.prototype.slice.call(arguments),c=d.shift();return function(){return e.apply(c,d.concat(Array.prototype.slice.call(arguments)));};};})();Tmatex.LocalStorage=function(e){var c="1",d={set:function(h,f,g){$.cookie(h,g,{expires:365});},get:function(g,f){return $.cookie(g);}},b=AppLoader.storage||d,a=function(){var g=b.get(e,c);if(!g&&b!==d){g=d.get(e,c);}if(g){try{g=$.evalJSON(g);if(typeof(g)==="object"){return g;}}catch(f){}}return{};};this.save=function(f,h){var g=a();g[f]=h;b.set(e,c,$.toJSON(g));};this.restore=function(f){return a()[f];};};Tmatex.DroidDoes=function(){if(Browser.isAndroid()&&Browser.version()>=2&&Browser.version()<3){var a;$(window).bind("load resize orientationchange",function(){var e=window.orientation==0||window.orientation==180;if(a!==e){a=e;var d="width=device-width,target-densityDpi="+(e?"medium":"low")+"-dpi,user-scalable=no";var c=window.pageYOffset;var b=$("#viewport").detach();b.attr("content",d);b.appendTo("body");Tmatex.scrollTo(c);}});}};(function(){var c=$.fn.find;var b={};var a=function(){var d=new Date().getTime(),f=arguments[0],e;e=c.apply(this,arguments);d=new Date().getTime()-d;if(b[f]===undefined){b[f]=[1,d];}else{b[f][0]++;b[f][1]+=d;}return e;};Tmatex.jQProfile={start:function(){b={};$.fn.find=a;},stop:function(){$.fn.find=c;return b;}};Tmatex.Profile={calls:[],reset:function(d){this.calls=[];if(d){this.add(d);}Tmatex.jQProfile.start();},add:function(d){this.calls.push([new Date().getTime(),d]);},dump:function(){if(this.calls.length==1){this.add("dump");}var d=Tmatex.jQProfile.stop();var h=0,f=0;var l=[];for(var e in d){f+=d[e][0];h+=d[e][1];l.push([d[e][1],"jq "+d[e][0]+" "+e]);}var j=this.calls;var m=j[j.length-1][0]-j[0][0];for(var g=j.length-1;g>0;g--){j[g][0]-=j[g-1][0];}j[0][0]=0;j=j.concat(l);j.sort(function(o,i){return i[0]-o[0];});var n="Total: "+m+", jQ: "+h+", calls: "+f;for(g=0;g<j.length;g++){n+="\n"+j[g][0]+" "+j[g][1];}return n;},display:function(){alert(this.dump());}};})();Tmatex.UIContainer=Object.subClass({init:function(a){this.markup=a;},display:function(a){this.markup.display(a?"block":"none");},ajaxFlush:function(a){var b=Tmatex.UIContainer._ajaxRequestQueue[a];if(b&&b._queue_delay){clearTimeout(b._queue_delay);delete b.delay;delete b._queue_delay;delete Tmatex.UIContainer._ajaxRequestQueue[a];this.ajax(undefined,b);}},ajax:function(url,ajaxOptions){if(url!==undefined){ajaxOptions=$.extend(ajaxOptions,{url:url});}var THIS=this;if(ajaxOptions.queue){var q=Tmatex.UIContainer._ajaxRequestQueue[ajaxOptions.queue];if(q){if(!q._queue_delay){q._queue_next=ajaxOptions;return;}clearTimeout(q._queue_delay);}Tmatex.UIContainer._ajaxRequestQueue[ajaxOptions.queue]=ajaxOptions;if(ajaxOptions.delay){ajaxOptions._queue_delay=setTimeout(function(){delete Tmatex.UIContainer._ajaxRequestQueue[ajaxOptions.queue];delete ajaxOptions.delay;delete ajaxOptions._queue_delay;THIS.ajax(undefined,ajaxOptions);},ajaxOptions.delay);return;}}if(ajaxOptions.type==="DOWNLOAD"){var docBody=$(document.body);var id="_ifrTmaTeX_d0wN";var iframe=docBody.find("#"+id);if(!iframe[0]){docBody.append(iframe=$('<iframe id="{0}" style="position:absolute;top:0;left:0;display:none;"/>'.format(id)));}iframe[0].src=$.isPlainObject(ajaxOptions.data)?url+"?"+$.param(ajaxOptions.data):url;}else{var successHandler=ajaxOptions.success;var errorHandler=ajaxOptions.error;var data=ajaxOptions.data;if($.isFunction(data)){data=data();}$.ajax(ajaxOptions=$.extend({type:"GET",timeout:30*1000,suppressError:false,blockUI:true},ajaxOptions,{dataType:"text",data:data?{json:$.toJSON(data)}:undefined,contentType:"application/json; charset=utf-8",headers:{"Cache-Control":"no-cache","If-Modified-Since":new Date(0).toUTCString(),"x-autoniq-version":AppLoader.version},beforeSend:function(){if(ajaxOptions.blockUI){Tmatex.blockUI();}},complete:function(){if(ajaxOptions.queue){delete Tmatex.UIContainer._ajaxRequestQueue[ajaxOptions.queue];if(ajaxOptions._queue_next){console.log("Reschedule "+ajaxOptions.queue);var next=ajaxOptions._queue_next;if(next.delay===undefined){next.delay=15;}THIS.ajax(undefined,next);}}if(ajaxOptions.blockUI){Tmatex.blockUI(false);}},success:function(json,textStatus,jqXHR){json=json.length?eval("("+json+")"):undefined;var redirectCode=jqXHR.getResponseHeader("Location");if(redirectCode){THIS.onAjaxRedirect(redirectCode);}else{if(json&&json.exception){THIS.onAjaxException(json.exception,json.alert);}else{if(successHandler){if(json.success){try{successHandler(json.data||{},json.alert);}catch(e){console.error("ajax.success(): "+e.message);console.dir(e);}}else{if(errorHandler){try{errorHandler(json.data||{},json.errors||{},json.alert);}catch(e){console.error("ajax.error(): "+e.message);console.dir(e);}}else{alert(json.alert||Autoniq.Message.errorGeneric);}}}}}},error:function(jqXHR,textStatus,errorThrown){var error=7000+jqXHR.status;if(!jqXHR.status){error=jqXHR.readyState?7700+jqXHR.readyState:"no connection";}if(textStatus==="timeout"){error=textStatus;}var errorMessage=("Server Access Error ({0})".format(error));if(!ajaxOptions.suppressError){if(jqXHR.status==412){Tmatex.blockUI();window.alert("The application is out of date.\nPress OK to reload.");window.location.reload(true);return;}if(errorMessage){window.alert(errorMessage);}}if(errorHandler){try{errorHandler({},{},errorMessage||"Server Access Error");}catch(ignored){}}}}));}},onAjaxRedirect:function(){},onAjaxException:function(b,a){alert(a||("Server Access Exception ("+b+")"));}});Tmatex.UIContainer._ajaxRequestQueue={};Tmatex.Widget=Object.subClass({init:function(a,b){this.options=b||{};this.markup=a;if(this.options.css){this.markup.addClass(this.options.css);}},setTitle:function(a){this.markup.attr("title",a);return this;},setEnabled:function(a){this.markup.toggleClass("disabled",!a);return this;},isVisible:function(){return this.markup.is(":visible");},setVisible:function(a){this.markup.display(a);return this;}});Tmatex.List=Object.subClass({init:function(b,d){d=d||{};var e=this;this.options=$.extend({entryTemplate:function(h,f,i,g){f.push(["div",{"class":"selectable"},g]);},entrySelectHandler:undefined,clickHandler:function(j,g,i,l){if(this.checkHandler&&(this.checkLeftMarginThreshold<0||i.pageX<this.checkLeftMarginThreshold)){var m=$(j);var h=e.checkedKeys[g];var f=this.checkHandler(j,g,!h);if(f===undefined){return false;}if(f){if(h){m.removeClass("checked");delete e.checkedKeys[g];}else{m.addClass("checked");e.checkedKeys[g]=1;}if(this.deleteComponent){this.deleteComponent.toggleClass("disabled",e.getCheckedEntryKeys().length===0);}}return true;}return false;},checkLeftMarginThreshold:80,checkHandler:undefined,deleteHandler:undefined,deleteComponent:undefined,filterComponent:undefined,filterPersistedId:undefined,counterComponent:undefined},d);if(!b[0]){throw"No container specified";}this.markup=b;this.entryContainerTag="?";this.parent=this.markup;if(b[0].tagName=="UL"){this.entryContainerTag="LI";}else{if(b[0].tagName=="TABLE"){this.entryContainerTag="TR";this.parent=this.markup.children("tbody");if(!this.parent.length){this.markup.append(this.parent=$("<tbody>"));}}else{throw"Unsupported container type: '{0}'".format(b[0].tagName);}}this.id="list_"+($.guid++)+"_";this.activeKey=undefined;this.allKeys=[];this.checkedKeys={};this.searchTokens=[];this.markup.click(function(h){var g=$(h.target).closest(e.entryContainerTag),i=g[0];if(!i){return false;}var f=i.id.substring(e.id.length);if(e.options.clickHandler(i,f,h,e)){return true;}if(e.options.entrySelectHandler){if(e.activeKey!==undefined){e.getEntry(e.activeKey).removeClass("selected");}e.activeKey=f;g.addClass("selected");g.oneTime(50,function(){try{e.options.entrySelectHandler(i,f);}catch(j){console.error(j.message);}});}return false;});if(this.options.deleteComponent){this.options.deleteComponent.addClass("disabled");this.options.checkHandler=this.options.checkHandler||function(){return true;};var c=function(){if(d.deleteHandler){var f=new Date().getTime()-c.downEventTimeStamp>1000;var g=f?e.getVisibleEntryKeys():e.getCheckedEntryKeys();if(g.length===0){alert(f?Tmatex.Message.nothingToDelete:Tmatex.Message.noEntriesSelected);}else{if(confirm(f?Tmatex.Message.promptRemoveAllEntries:Tmatex.Message.promptRemoveEntries(g.length))){d.deleteHandler(g);d.deleteComponent.addClass("disabled");}}}c.lastDownEventTimeStamp=c.downEventTimeStamp;delete c.downEventTimeStamp;};d.deleteComponent.bind({touchstart:function(){c.downEventTimeStamp=new Date().getTime();return false;},touchend:function(){if(!c.lastDownEventTimeStamp||c.downEventTimeStamp-c.lastDownEventTimeStamp>1000){c();}return false;},mousedown:function(){c.downEventTimeStamp=new Date().getTime();return false;},mouseup:function(){if(!c.lastDownEventTimeStamp||c.downEventTimeStamp-c.lastDownEventTimeStamp>1000){c();}return false;}});}if(d.filterComponent){var a=Browser.version();if(Browser.isPlaceHolderSupported()){d.filterComponent.attr("placeholder"," Filter this list");Tmatex.unpimpInput(d.filterComponent);}d.filterComponent.bind({focus:function(f){Tmatex.fixBuggyInputPlaceHolder(f.target);},keyup:function(){$(e).oneTime(500,function(){e.applyFilter();});}});}},addSearchTokens:function(b){var c=[];for(var a=1;a<arguments.length;a++){c.push((""+arguments[a]).trim().toUpperCase());}this.searchTokens[b]=c.join(" ");},applyFilter:function(){var e=this.getAllEntryKeys();var f=this.options.filterComponent.val().trim();var b=$.isFunction(this.options.filterPersistedId)?this.options.filterPersistedId():this.options.filterPersistedId;if(b){Autoniq.LocalStorage.save(b,f);}var d=f.toUpperCase().split(/\s+/);var c=this;var a=0;$.each(e,function(g,i){var j=true,h=c.searchTokens[i];if(h){$(d).each(function(l,m){if(h.indexOf(m)<0){j=false;return false;}});}if(j){a++;}c.getEntry(i).display(j);});if(this.options.counterComponent){this.options.counterComponent.html(f.length>0&&e.length>0?"{0} of {1} (filtered)".format(a,e.length):a);}},setEntryTemplate:function(a){this.options.entryTemplate=a;},populate:function(f,i,c,d,e){var l=this.parent;var j=this;var g=new Tmatex.HTML.Builder();e=e||function(m){return m;};var a={};if($.isArray(i)){$.each(i,function(n,m){a[m]=1;});}else{if(i){$.extend(a,i);}}this.checkedKeys={};this.allKeys=[];delete this.activeKey;$.each(f,function(q,s){var p=e(q),o={},r=a[p]!==undefined,t=c!==undefined&&(p==c);var m=[j.entryContainerTag,o];j.options.entryTemplate(j,m,q,s);if(r||t){var n=o["class"]||"";if(r){j.checkedKeys[q]=1;n+=" checked";}if(t){n+=" selected";j.activeKey=q;}o["class"]=n;}j.allKeys.push(q);if(d!==false){o.id=j.id+q;}o.onclick="javascript:true";g.add(m);});l.fastHtml(g.build());if(this.options.counterComponent){this.options.counterComponent.html(this.allKeys.length);}if(this.options.filterComponent){this.options.filterComponent.val("");var b=$.isFunction(this.options.filterPersistedId)?this.options.filterPersistedId():this.options.filterPersistedId;if(b){var h=Autoniq.LocalStorage.restore(b);if(h){this.options.filterComponent.val(h);this.applyFilter();}}}},remove:function(a){$.each(a,function(b,c){});},removeAll:function(){this.markup.children("tbody").empty();},getEntries:function(){return this.parent.children();},getEntry:function(a){return $("#"+this.id+a);},getAllEntryKeys:function(){return this.allKeys;},getActiveEntryKey:function(){return this.activeKey;},setActiveEntryKey:function(a){if(a!=this.activeKey){if(this.activeKey!==undefined){this.getEntry(this.activeKey).removeClass("selected");}if(a!==undefined){this.getEntry(a).addClass("selected");}this.activeKey=a;}},setCheckedEntryKeys:function(c){var a=this;var b={};if($.isArray(c)){$.each(c,function(e,d){if(a.checkedKeys[d]===undefined){a.getEntry(d).addClass("checked");}else{delete a.checkedKeys[d];}b[d]=1;});}else{if(c){$.each(c,function(e,d){if(a.checkedKeys[e]===undefined){a.getEntry(e).addClass("checked");}else{delete a.checkedKeys[e];}b[e]=1;});}}$.each(this.checkedKeys,function(d){a.getEntry(d).removeClass("checked");});this.checkedKeys=b;if(this.options.deleteComponent){this.options.deleteComponent.toggleClass("disabled",c.length===0);}},getCheckedEntryKeysSet:function(){return $.extend({},this.checkedKeys);},getCheckedEntryKeys:function(a){a=a||function(b){return b;};return $.map(this.checkedKeys,function(c,b){return a(b);});},resetAllChecked:function(){this.setCheckedEntryKeys([]);},getVisibleEntryKeys:function(){var a=[];this.getEntries().each((function(b,c){if($(c).is(":visible")){a.push(this.allKeys[b]);}}).bind(this));return a;}});Tmatex.DropDown=Tmatex.Widget.subClass({populate:function(m,j){var c=new Tmatex.HTML.Builder();for(var h=0;h<m.length;h++){var g=m[h];var f,e;if(g.length){f=g[1];e=g[0];}else{f=e=g;}var d={value:f};if(f==j||e==j){d.selected="selected";}c.add(["option",d,e]);}this.markup.fastHtml(c.build());}});Tmatex.Button=Tmatex.Widget.subClass({_lastBusy:undefined,init:function(a,b){this._super.apply(this,arguments);if(this.options.onClick){this.markup.click((function(){if(Tmatex.Button._lastBusy){Tmatex.Button._lastBusy.removeClass("busy");}(Tmatex.Button._lastBusy=this.markup).addClass("busy");this.options.onClick(this);return false;}).bind(this));}if(this.options.caption!==undefined){this.setCaption(this.options.caption);}},doClick:function(){this.markup.trigger("click");},setCaption:function(a){this.markup.html(a);return this;}});Tmatex.ToolbarButton=Tmatex.Button.subClass({init:function(b,c){var a=$('<table cellpadding="0" cellspacing="0" class="button"><tr><td class="l"></td><td class="caption"></td><td class="r"></td></tr></table>');this._super.apply(this,[a,c]);this.setCaption(b);},setCaption:function(a){this.markup.find("td.caption").html(a||"");}});Tmatex.CheckBox=Object;Tmatex.CheckBox.toggle=function(c){var a=$(c);var b=!a.hasClass("on");a.toggleClass("on",b);return b;};Tmatex.CheckBox.setChecked=function(b,a){$(b).toggleClass("on",a);};Tmatex.CheckBox.isChecked=function(a){return $(a).hasClass("on");};Tmatex.CheckBox.clickHandler=function(c){var a=$(c.target);var b=a.hasClass("on");a.toggleClass("on",!b);};Tmatex.DataTypes={text:{validate:function(a){return undefined;},parse:function(a){return a;},type:function(){return"text";},text:function(a){return a;},html:function(a){var b=this.text(a);return b!=undefined?b:null;}}};Tmatex.DataTypes.date=$.extend({},Tmatex.DataTypes.text,{text:function(a){return $.format.date(a,"MMM dd, yyyy");}});Tmatex.DataTypes.bool=$.extend({},Tmatex.DataTypes.text,{});Tmatex.DataTypes.money=$.extend({},Tmatex.DataTypes.text,{html:function(c,d){if(isNaN(c)||c==null||c==undefined){c=0;}var b=(c<0?"-$":"$");c=""+Math.abs(c).toFixed(d==undefined||d?2:0);var a=/(\d+)(\d{3})/;while(a.test(c)){c=c.replace(a,"$1,$2");}return b+c;}});Tmatex.DataTypes.number=$.extend({},Tmatex.DataTypes.text,{validate:function(a){return a&&(/^\d+$/).test(a)?undefined:"Invalid numeric value";},parse:function(a){return a?parseInt(a.replace(/[^0-9]/ig,""),10):a;},type:function(){return Browser.isIOS()||Browser.isAndroid()?"number":"text";}});Tmatex.DataTypes.phone=$.extend({},Tmatex.DataTypes.text,{validate:function(a){return a&&(/^(\d{10})$|^(\d{3}[-]{1}){2}(\d{4})$|^(\d{3}[-]{1}){2}(\d{4}) x\d+$/).test(a)?undefined:"Not a valid phone number.<br/>Expected 1234567890 or 123-456-7890 or 123-456-7890 x12";},parse:function(a){return a&&a.length==10&&a.indexOf("-")==-1?"{0}-{1}-{2}".format(a.substr(0,3),a.substr(3,3),a.substr(6)):a;},type:function(){if(Browser.isAndroid()){return"number";}else{if(Browser.isIOS()){return"tel";}else{return"text";}}}});Tmatex.DataTypes.email=$.extend({},Tmatex.DataTypes.text,{validate:function(a){return a&&(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i).test(a)?undefined:"Email address does not seem to be valid.";},type:function(){return Browser.isIOS()?"email":"text";}});Tmatex.DataTypes.zip=$.extend({},Tmatex.DataTypes.text,{validate:function(a){return a&&(/\b[0-9]{5}(?:-[0-9]{4})?\b/).test(a)?undefined:"Zip is invalid.<br/>Expected xxxxx or xxxxx-xxxx";},type:function(){return Browser.isIOS()||Browser.isAndroid()?"number":"text";}});(function(){var a={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"};var b=function(f){return a[f];};var e=/[&<>'"]/g;function c(f){return f.replace(e,b);}function d(g){var h=[];var f=0;function i(n){var m=n[0],q=1,p=n.length;if(m!==undefined){h[f++]="<";h[f++]=m;if(p>1){var j=n[1];if(j&&j.length===undefined){for(var o in j){h[f++]=" ";h[f++]=o;h[f++]="='";h[f++]=j[o];h[f++]="'";}q++;}}h[f++]=">";}for(;q<p;q++){var r=n[q];if(r instanceof Array){i(r);}else{if(r instanceof String){h[f++]=c(r);}else{if(r!==undefined){h[f++]=r;}}}}if(m!==undefined){h[f++]="</";h[f++]=m;h[f++]=">";}}i(g);return h.join("");}Tmatex.HTML={};Tmatex.HTML.Builder=function(){this.tb=[];this.tbi=1;};Tmatex.HTML.Builder.prototype.add=function(f){this.tb[this.tbi++]=f;};Tmatex.HTML.Builder.prototype.build=function(){return d(this.tb);};})();Tmatex.unpimpInput=function(a){if(a){a.attr({autocapitalize:"off",autocorrect:"off",autocomplete:"off"});}};Tmatex.fixBuggyInputPlaceHolder=function(a){if(a.value==""){a.value="";}};Tmatex.PM={_pageFactory:{},_pages:{},_recovery:undefined,_stack:{_data:[],length:function(){return this._data.length;},indexOf:function(b){var a=-1;$(this._data).each(function(c,d){if(b===d||b===d.id){a=c;return false;}});return a;},push:function(a){this._data.push(a);},pop:function(){return this._data.pop();},peek:function(){return this._data.length>0?this._data[this._data.length-1]:undefined;},peekNext:function(b){var a=this.indexOf(b);return a<this._data.length-1?this._data[a+1]:undefined;},peekPrev:function(b){var a=this.indexOf(b);return a>0?this._data[a-1]:undefined;},debug:function(b){var a;$(this._data).each(function(c,d){a=a?a+(", "+d.id):d.id;});alert("Stack{0}: {1}".format(b?"("+b+")":"",(a||"empty")));}},rootPage:undefined,_getPage:function(b){if(typeof(b)==="string"){var c=this._pages[b];if(c){return c;}var a=this._pageFactory[b];if(a&&a.subClass&&((c=new a(b)) instanceof Tmatex.PM.Page)){this._pages[b]=c;c.onCreate(c);return c;}else{console.error("Page [id={0}]: instance/constructor not found".format(b));}}else{if(b instanceof Tmatex.PM.Page){return b;}else{console.error("Invalid argument specified: {0}",b);}}},init:function(a,b,c){this._pageFactory=a;$(this.showPage.bind(this,b,c));},onPageBeforeShowCompleted:function(e,d,b,f){if(d&&d!==e){d.data.scrollTop=f;d.markup.display(false);d.onHide(d);}var a=this._stack.indexOf(e);if(a>=0){for(var c=this._stack.length()-1-a;c>0;c--){d=this._stack.pop();d.onUnLoad(d);}}else{if(b!==undefined){while(this._stack.length()>b){d=this._stack.pop();d.onUnLoad(d);}}this._stack.push(e);}Tmatex.scrollTo(e.data.scrollTop);e.markup.display("block");e.onShow(e);},onPageLoadComplete:function(d,b,c,a,e){var f=this.onPageBeforeShowCompleted.bind(this,d,b,a,e);if(d.onBeforeShow(d,c,f)){f();}},onPageBeforeHideCompleted:function(e,c,d,b,f){var a=this._stack.indexOf(e);if(a<0){e.data={};d=d||{};}var g=this.onPageLoadComplete.bind(this,e,c,d,b,f);if(a>=0||e.onLoad(e,g)){g();}},showPage:function(d,c,a){var b;if(!(b=this._getPage(d))){console.log("Page [id={0}]: not found".format(d?(d.id||d):"undefined"));return undefined;}this._recovery=Array.prototype.slice.call(arguments,0);var e=$(window).scrollTop();d=b;b=this._stack.peek();var f=this.onPageBeforeHideCompleted.bind(this,d,b,c,a,e);if(!b||b.onBeforeHide(b,f)){f();}},findPage:function(b){var a=this._stack.indexOf(b);return a<0?undefined:this._stack._data[a];},findPrevPage:function(){return this._stack.peekPrev(this._stack.peek());},back:function(){var a=this._stack.peek();if(a){a.onBack();}},getRecoveryArgs:function(){return this._recovery;},recover:function(a){console.dir(arguments);this.showPage.apply(this,a);}};Tmatex.PM.Page=Tmatex.UIContainer.subClass({init:function(a){this.id=a;this.data={};},onCreate:function(a){this.markup=$("#"+this.id);if(!this.markup[0]){throw"Page [id={0}]: container not found".format(this.id);}this.markup.remove();document.body.appendChild(this.markup[0]);},onLoad:function(){return true;},onUnLoad:function(){},onBeforeShow:function(b,a){this.data=a||this.data;return true;},onShow:function(a){},onBeforeHide:function(){return true;},onHide:function(){},onBack:function(){var a=Tmatex.PM.findPrevPage();if(a){Tmatex.PM.showPage(a);}},onAjaxException:function(b,a){this._super.apply(this,arguments);Tmatex.PM.back();}});Tmatex.Form=Tmatex.UIContainer.subClass({init:function(a,b){this._super.apply(this,[a]);this.dataFieldTypes=b||Tmatex.DataTypes;this.markup.find("button.checkbox").each(function(d,e){$(e).click(Tmatex.CheckBox.clickHandler);});var c=this;this.markup.find("[data-type]").each(function(e,h){var d=c._getFieldDescriptor(h);if(d){var g=h.tagName.toUpperCase();if(g==="INPUT"&&!h.getAttribute("type")){h.type=d.dataType.type();}if(d.required){var f=$(h).closest("tr").children("th:first");if(f[0]&&f.html().trim().length>0&&!f.html().endsWith("<i>*</i>",true)){f.html(f.html()+"<i>*</i>");}}}});this.serverErrorsHandler=function(g,e,h){var f;c.markup.find("[data-type]").each(function(j,l){var i=c._getFieldDescriptor(l);$.each(e,function(m,n){if(i.idx==m){c.setError(l,n);if(!f){f=l;}return false;}});});if(f){try{$(window).scrollTop($(f).offset().top-40);}catch(d){}}if(h){$(c).oneTime(200,function(){alert(h);});}};},populate:function(a){this.resetErrors();this.markup.find("[data-type]").each((function(c,e){var b=this._getFieldDescriptor(e);if(b){var d=e.tagName.toUpperCase();var f=$(e);if(d==="INPUT"||d==="TEXTAREA"){if(e.type=="number"&&Browser.isIOS()&&Browser.version()>=5){f.val(parseFloat(""+a[b.idx]));}else{f.val(b.dataType.text(a[b.idx]));}if(e.type==="checkbox"){e.checked=!!a[b.idx];}}else{if(d==="BUTTON"&&f.hasClass("checkbox")){Tmatex.CheckBox.setChecked(e,!!a[b.idx]);}else{if(d==="SELECT"){if(typeof(b.idx)==="string"){var g=a[b.idx+"Domain"];if(g&&($.isArray(g)||$.isPlainObject(g))){new Tmatex.DropDown(f).populate(g,a[b.idx]);return true;}}f.html(b.dataType.text(a[b.idx]));}else{f.html(b.dataType.html(a[b.idx]));}}}}}).bind(this));},isDirty:function(a){var b=this.markup.find("div.error").length>0;if(!b){var c=function(e,d){e=e||"";d=d||"";return e==d;};this.markup.find("[data-type]").each((function(e,f){var d=this._getFieldDescriptor(f);if(d&&d.required!=undefined){var g=$(f);var h;if(f.type==="checkbox"){h=f.checked;}else{if(f.tagName.toUpperCase()==="BUTTON"&&g.hasClass("checkbox")){h=Tmatex.CheckBox.isChecked(f);}else{if(f.type==="select-one"||f.type==="multi-select"){h=f.selectedIndex<0?undefined:(f.options[f.selectedIndex].value||f.options[f.selectedIndex].text);}else{h=g.val().trim();}}}if(!c(a[d.idx],d.dataType.parse(h))){b=true;return false;}}}).bind(this));}return b;},validate:function(){this.resetErrors();var a={};var b=[];this.markup.find("[data-type]").each((function(d,f){var c=this._getFieldDescriptor(f);if(c&&c.required!=undefined){var g=$(f);var h;if(f.type==="checkbox"){h=f.checked;}else{if(f.tagName.toUpperCase()==="BUTTON"&&g.hasClass("checkbox")){h=Tmatex.CheckBox.isChecked(f);}else{h=g.val();h=typeof(h)==="string"?h.trim():"";}}if(typeof(h)!=="boolean"&&h.length===0){if(c.required){b.push([f,Tmatex.Message.missingData]);}else{a[c.idx]=null;}}else{var e=c.dataType.validate(h);if(e){b.push([f,e]);}else{a[c.idx]=c.dataType.parse(h);}}}}).bind(this));if(b.length>0){$(b).each((function(d,c){this.setError(c[0],c[1]);}).bind(this));}return b.length===0?a:undefined;},applyChanges:function(a,b){this.markup.find("[data-type]").each((function(d,e){var c=this._getFieldDescriptor(e);if(c&&c.required!=undefined){a[c.idx]=b[c.idx];}}).bind(this));},setError:function(c,a){var b=$(c).addClass("error").parent();var d=b.find("div:first");if(!d[0]){b.append(d=$("<div>").addClass("error"));}d.html(a);},resetErrors:function(){this.markup.find("div.error").remove();this.markup.find(".error").removeClass("error");},_getFieldDescriptor:function(b){var a=b.getAttribute("data-type");if(a){a=a.split(":");a={idx:a[0],dataType:this.dataFieldTypes[a[1]],required:a[2]?a[2].toLowerCase()==="true":undefined};}return a;}});Autoniq={authCookieName:"TRACKER",LocalStorage:new Tmatex.LocalStorage("autoniq"),Message:{errorAccess:{0:"Account was not authenticated",1:"You have been logged out because your login credentials where used from another computer or mobile device",2:"Invalid Subscription",3:'Your account is not fully operational.\nPlease click on "My Account" and update your payment information or call customer support'},errorGeneric:"Request processing error.",errorNothingToExport:"Nothing to export.",errorEmailNotOnFile:"Your email address is missing. Please visit Settings page to set it up.",errorEmailFieldEmpty:"Please enter email address first.",errorEmailTooManyAddressBookEntries:"Email list is already too long (10 is max), please remove unused entries first.",errorEmailAlreadyExists:"Email already exists in your address book.",errorEmailNoRecipients:"Please select at least one address book entry or type your recipient email address.",warningEmailNoFeatures:"Send this message without any pricing guides or vehicle history reports?",confirmEmailSent:"Email sent",errorNotAvailableVHR:"Neither CARFAX nor AutoCheck VHR service is available for your current subscription.",errorNotConfiguredVHR:"Neither CARFAX nor AutoCheck is configured. Please visit Settings page to specify your CARFAX and/or AutoCheck login credentials",promptSignOut:'Press "OK" if you want to SIGN OUT of your account.\nYou will be prompted for User ID and Password again before you would be able to access the service.',promptRunVHR:function(a){return"Run {0} Report?".format(a);},passwdReminderNoEmailOrPhone:"Please specify valid email address or phone number you have on file.",auctionNoSearchTemplates:'You don\'t have any Search Templates yet.\nClick on "+" to add some.',auctionNoSearchTemplatesSelected:"Please selected at least one entry from the list.",vinNotValid:function(a){return"VIN is {0}".format(a&&a.length>0?"not valid.":"not specified.");},searchNotValid:"Please specify vehicle MAKE.",searchNoTrimSelected:"No trim selected.",searchNoVehiclesFound:"No vehicles found.",infoUpdated:"Successfully updated.",maCancelConfirm:'You are about to cancel your subscription.\nPlease click "OK" to confirm your request.',infoVinScannerIsMobileOnly:"VIN scanner is available only when used on a mobile device.",tooltipVinInput:" Enter VIN"},ListEntryTemplate:{vhrTwoColumnEntry:function(c,b,d,a){if(typeof(a[1])==="number"){b.push(["td",{"class":"text state"+a[1]},a[0]],["td",{"class":"icon last state"+a[1]}]);}else{b.push(["td",{"class":"text"},a[0]],["td",{"class":"icon last"},a[1]]);}},defaultEntry:function(c,a,d,b){a.push(["div",{"class":"selectable"},b]);},checkboxEntry:function(c,a,d,b){a.push(["button",{"class":"checkbox"}],b);},vehicleEntry:function(m,n,d,o,e,p,r){var b=o[0];var i=o[1]?$.format.date(o[1],"MMM dd hh:mma"):undefined;var c=o[2];var a=o[3];var h=o[4];var j=o[5];var g=o[6];var l=o[7];var q=o[11];var f="";if(l){f=l;}if(c){f+="{0}({1})".format(f?"\u00A0":"",c);}n[1]["class"]="ve";n.push(["td",{"class":"body"},i?["div",{"class":"timeStamp"},i]:undefined,p!=undefined||r!=undefined?["div",{"class":"label "+(r||"")},p]:undefined,e==undefined||e?["button",{"class":"checkbox"}]:undefined,a,["div",{"class":"vinMileageColor"},h?Autoniq.DataTypes.vin.html2(h):["span",{"class":"vinWMI"},"No VIN"],j>0?" "+Autoniq.DataTypes.mileage.text(j):undefined,g?" "+g:undefined],q?["div",{"class":"location"},q]:undefined,f.length>0?["div",{"class":"notesOwner"},f]:undefined],["td",{"class":"selectable"},["div"]]);m.addSearchTokens(d,a,h,g,c,l,q);},vehicleEntryWithLaneRun:function(e,d,b,c){var a=c[8];var f=c[9];return Autoniq.ListEntryTemplate.vehicleEntry(e,d,b,c,true,Tmatex.join(":",a,f));},vehicleHistoryEntry:function(e,d,a,c){var b=c[10];return Autoniq.ListEntryTemplate.vehicleEntry(e,d,a,c,true,undefined,"vhrCondition"+b);},recentAuctionEntry:function(c,b,d,a){a=a.split("|");b.push(["td",{"class":"body"},["div",{"class":"lane"},a[3]],["div",{"class":"date"},$.format.date(+a[2],"MMM dd")],a[1]+", "+a[0]],["td",{"class":"selectable"},["div"]]);},vehicleSearchTemplateEntry:function(g,f,h,e,c){var d=e[2];var b=Autoniq.ListEntryTemplate.getVehicleSearchTemplateName(d);var a=d.m.length>0?d.m[0]:"any mileage";f[1]["class"]="vste";f.push(["td",{"class":"body"},["div",{"class":"mileage"},a],["button",{"class":"checkbox"}],b]);if(c){f.push(["td",{"class":"selectable"},["div"]]);}g.addSearchTokens(h,b);},getVehicleSearchTemplateName:function(b){var d=[];for(var a in b.s){var c=b.s[a];if(!c.length){if(a==0){d.push("[ANY YEAR]");}else{if(a==1){d.push("[ANY MAKE]");}else{break;}}}else{if(c.length===1){d.push(c[0]);}else{d.push("["+(a==0?this.displayYearRange(c):c.join(","))+"]");}}}return d.join(" ");},displayYearRange:function(b){b.sort();var c,a;var d=b.length;$.each(b,function(f,e){d--;if(!c){a=""+e;}else{var g=a.lastIndexOf("-")==a.length-1;if(c==e-1){if(!g){a+="-";}if(d==0){a+=e;}}else{if(g){a+=c;}a+=(","+e);}}c=e;});return a;}},DataTypes:$.extend({vin:$.extend({},Tmatex.DataTypes.text,{VIN_SYMBOLS:"0123456789 ABCDEFGH  JKLMN P R  STUVWXYZ",VIN_WEIGHTS:[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],validateChecksum:function(b){if(!b||b.length!=17){return null;}var d=b.toUpperCase().replace(/O|Q/img,"0").replace(/I/img,"1");var f=0;for(var e=0;e<17;e++){var h=d.charAt(e);var g=this.VIN_SYMBOLS.indexOf(h);if(h==" "||g<0){console.log("Invalid VIN character: "+h);return null;}g%=10;f=f+this.VIN_WEIGHTS[e]*g;}f%=11;var a=d.charAt(8);if(a!="X"&&(a<"0"||a>"9")){console.log("Invalid VIN check: "+a);return null;}if(f==10&&a=="X"||f==this.VIN_SYMBOLS.indexOf(a)){return d;}console.log("Invalid VIN checksum");return null;},validate2:function(e,d){if(!e){return null;}var b=e.match(/\b[0-9A-Z]{17}\b/igm);for(var c in b){var a=b[c];c=this.validateChecksum(a);if(c!=null){return c;}}e=e.trim();if(d&&(/^[0-9A-Z]{9,16}$/i).test(e)){return e.replace(/O|Q/img,"0").replace(/I/img,"1");}return null;},html:function(a){if(a==undefined||a==null){return null;}else{if(this.validate2(a)){return"<span class='vinWMI'>{0}</span><span class='vinYear'>{1}</span><span class='vinVIS'>{2}</span>".format(a.substring(0,9),a.substring(9,10),a.substring(10,17));}else{return"<span class='vinInvalid'>{0}</span>".format(a);}}},html2:function(a){if(a==undefined||a==null){return undefined;}else{if(this.validate2(a)){return[undefined,["span",{"class":"vinWMI"},a.substring(0,9)],["span",{"class":"vinYear"},a.substring(9,10)],["span",{"class":"vinVIS"},a.substring(10,17)]];}else{return["span",{"class":"vinInvalid"},a];}}}}),mileage:$.extend({},Tmatex.DataTypes.number,{validate:function(a){return a!=undefined&&(/^[0-9,]+$|^[0-9,]+ *K$/i).test(a)?undefined:"Invalid mileage value";},parse:function(a){if(typeof(a)==="number"){return a;}else{if(typeof(a)==="string"){return parseInt(a.replace(/,/g,"").replace(/k/i,"000"),10);}}return undefined;},text:function(b){if(b){b+="";var a=/(\d+)(\d{3})/;while(a.test(b)){b=b.replace(a,"$1,$2");}}return b;}})},Tmatex.DataTypes),Months:[["01 - January",1],["02 - February",2],["03 - March",3],["04 - April",4],["05 - May",5],["06 - June",6],["07 - July",7],["08 - August",8],["09 - September",9],["10 - October",10],["11 - November",11],["12 - December",12]],States:{USA:[["Alabama","AL"],["Alaska","AK"],["American Samoa","AS"],["Arizona","AZ"],["Arkansas","AR"],["California","CA"],["Colorado","CO"],["Connecticut","CT"],["Delaware","DE"],["District of Columbia","DC"],["Federated Micronesia","FM"],["Florida","FL"],["Georgia","GA"],["Guam","GU"],["Hawaii","HI"],["Idaho","ID"],["Illinois","IL"],["Indiana","IN"],["Iowa","IA"],["Kansas","KS"],["Kentucky","KY"],["Louisiana","LA"],["Maine","ME"],["Marshall Islands","MH"],["Maryland","MD"],["Massachusetts","MA"],["Michigan","MI"],["Minnesota","MN"],["Mississippi","MS"],["Missouri","MO"],["Montana","MT"],["Nebraska","NE"],["Nevada","NV"],["New Hampshire","NH"],["New Jersey","NJ"],["New Mexico","NM"],["New York","NY"],["North Carolina","NC"],["North Dakota","ND"],["Mariana Islands","MP"],["Ohio","OH"],["Oklahoma","OK"],["Oregon","OR"],["Palau","PW"],["Pennsylvania","PA"],["Puerto Rico","PR"],["Rhode Island","RI"],["South Carolina","SC"],["South Dakota","SD"],["Tennessee","TN"],["Texas","TX"],["Utah","UT"],["Vermont","VT"],["Virgin Islands","VI"],["Virginia","VA"],["Washington","WA"],["West Virginia","WV"],["Wisconsin","WI"],["Wyoming","WY"]],Canada:[["Alberta","AB"],["British Columbia","BC"],["Manitoba","MB"],["New Brunswick","NB"],["Newfoundland and Labrador","NL"],["Northwest Territories","NT"],["Nova Scotia","NS"],["Nunavut","NU"],["Ontario","ON"],["Prince Edward Island","PE"],["Quebec","QC"],["Saskatchewan","SK"],["Yukon","YT"]]}};(Autoniq.CCStateUSA=Autoniq.States.USA.slice(0)).splice(0,0,["",""]);Autoniq.CCProviderDomain=[["",""],["VISA","VISA"],["Master Card","MASTER"],["American Express","AMEX"],["Discover","DISCOVER"]];(Autoniq.CCExpiresMonthDomain=Autoniq.Months.slice(0)).splice(0,0,["",""]);Autoniq.CCExpiresYearDomain=["",2011,2012,2013,2014,2015,2016,2017,2018];Autoniq.StateDropDown=Tmatex.DropDown.subClass({populate:function(a){this.markup.append($("<option>"));$.each(Autoniq.States,(function(d,b){var c=document.createElement("optgroup");c.setAttribute("label",d);this.markup[0].appendChild(c);$.each(b,function(f,e){var g=document.createElement("option");g.innerHTML=e[0];g.setAttribute("value",e[1]);if(e[1]==a||e[0]==a){g.setAttribute("selected","selected");}c.appendChild(g);});}).bind(this));}});Autoniq.Navigate=function(d,a){if(a){Tmatex.blockUI(false);}if(!d){return;}var b=d.startsWith("vin?");if(d.startsWith("per?")||d.startsWith("vhr?")||b){var c=$.parseQuery(d.substring(3));if(c.vin){c.fromScanner=c.scanned!=="false";if(d.startsWith("vhr?")){Tmatex.PM.showPage("vhPage",{vin:c.vin});}else{if(b){c.vslogin=true;}Tmatex.PM.showPage("perPage",c,b?1:undefined);}}}else{if(d.startsWith("home?")){Tmatex.PM.showPage("mobilePage");}else{if(d.startsWith("pe?")){Tmatex.PM.showPage("pePage",undefined,1);}else{if(d.startsWith("sv?")){Tmatex.PM.showPage("rvPage",undefined,1);}}}}};Autoniq.Page=Tmatex.PM.Page.subClass({EVENT_WISHLIST:"autoniq_wl",EVENT_EVALUATED:"autoniq_pe",EVENT_VST:"autoniq_st",getAccountSettings:function(){return Autoniq.rootPage&&Autoniq.rootPage.accountSettings?Autoniq.rootPage.accountSettings:{};},setAccountSettings:function(a){Autoniq.rootPage.accountSettings=$.extend(Autoniq.rootPage.accountSettings||{},a);$("#mobilePage .messageCenter").toggleClass("alert",Autoniq.rootPage.accountSettings.newMessage);},clearAccountSettings:function(){delete Autoniq.rootPage.accountSettings;},createToolbarButtons:function(a,b){if(b===undefined||b){(this.backButton=new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"buttonBack"})).markup.prependTo(this.markup.children("div.toolbar"));}if(a===undefined||a){(this.homeButton=new Tmatex.ToolbarButton("Home",{onClick:function(){Tmatex.PM.showPage("mobilePage");},css:"lcElement"})).markup.prependTo(this.markup.children("div.toolbar:first"));}},_openVinScanner:function(e,f){if(Browser.isAndroid()||Browser.isIOS()){var c=Browser.isAndroid()&&this.getAccountSettings().scannerCompatMode?encodeURIComponent(window.location.href.replace(/mobile#.*/,"vs?page=")+f+"|"):encodeURIComponent(window.location.href.split("#")[0]+"#"+f+"?")+"&cb="+encodeURIComponent("javascript:setTimeout(function(){location.href='@'},1)");Tmatex.blockUI();var b=+new Date;var a=100;var d=30;window.setTimeout(function(){if(--d<=0){Tmatex.blockUI(false);Tmatex.PM.showPage("installAppPage");return;}var g=+new Date;if(g-b>a+900){Tmatex.blockUI(false);return;}b=g;window.setTimeout(arguments.callee,a);},a);$("#launchpad").attr("src",e+":///?ref="+c);}else{alert(Autoniq.Message.infoVinScannerIsMobileOnly);}},openVinScannerToPER:function(){this._openVinScanner("x-autoniq-vinscanner","per");},openVinScannerKeyboardToPER:function(){this._openVinScanner("x-autoniq-vinkeyboard","per");},openVinScannerToVHR:function(){this._openVinScanner("x-autoniq-vinscanner","vhr");},openVinScannerKeyboardToVHR:function(){this._openVinScanner("x-autoniq-vinkeyboard","vhr");},loadProviderTree:function(onLoaded){var accountSettings=this.getAccountSettings();var currentMenuStyle=accountSettings.menuStyle;if(!currentMenuStyle){alert("Unknown current provider menu.");return;}var tree=false;AppLoader.getResource("mobile/js/vehicles-"+currentMenuStyle+".js",function(url,data){if(!data){return false;}eval(data);if(!tree){return false;}onLoaded(tree);return true;});},onCreate:function(){this._super.apply(this,arguments);this.createToolbarButtons();},onUnLoad:function(){this.data={};},onAjaxRedirect:function(a){a=(a||"#e_0").split("_")[1];if(a>1){Tmatex.PM.showPage("mobilePage",{redirectCode:a});}else{Tmatex.PM.showPage("loginPage",{recovery:Tmatex.PM.getRecoveryArgs()});}if(a>0){window.setTimeout(function(){alert(Autoniq.Message.errorAccess[a]);},100);}},bind:function(b,a){$(document).bind(b+"."+this.id,a.bind(this));},unbind:function(a){$(document).unbind(a+"."+this.id);},trigger:function(b,a){$(document).trigger(b,a);}});Autoniq.mobilePage=Autoniq.Page.subClass({RECENT_VEHICLES_LIMIT:10,createToolbarButtons:function(){},onBack:function(){if(Browser.isAndroid()&&this.getAccountSettings().homeBackToGoogle){window.location.href="http://www.google.com";}},onCreate:function(c){Autoniq.rootPage=this;this._super.apply(this,arguments);Tmatex.DroidDoes();$(this).everyTime(1000*30,"ch",this.callHome);new Tmatex.ToolbarButton("Help",{onClick:function(){window.open("help","autoniq2");},css:"lcElement help"}).markup.prependTo(this.markup.children(".toolbar:first"));var a={priceEvaluator:"pePage",vehicleHistory:"vhPage",recentVehicles:"rvPage",auctions:"aucPage",messageCenter:"messageCenterPage",search:"schPage",myAccount:"maPage"};$.each(a,function(e,d){c.markup.find("div."+e+" div.button").click(function(){Tmatex.PM.showPage(d);});});this.markup.find("div.scan div.button").click(function(){c.openVinScannerToPER();});this.messageCenterButton=this.markup.find("div.messageCenter");this.recentlyEvaluatedBlock=this.markup.children("div.recentlyEvaluatedBlock").display(false);this.list=new Tmatex.List(this.recentlyEvaluatedBlock.find("table.list"),{entryTemplate:function(g,f,d,e){e[1]=undefined;e[2]=undefined;e[7]=undefined;e[10]=undefined;e[11]=undefined;return Autoniq.ListEntryTemplate.vehicleEntry(g,f,d,e,false);},entrySelectHandler:function(e,d){Tmatex.PM.showPage("perPage",{vehicleId:c.getAccountSettings().rv[d][0]});}});this.baseHistoryLength=history.length;this.baseHref=window.location.href;var b=this.baseHref.split("#");if(b[1]){Tmatex.blockUI();window.setTimeout(this.handleNewHref.bind(this,this.baseHref,true),50);}this.newHref=b[0]+"#"+ +new Date();window.setInterval(this.hashChecker.bind(this),100);this.lastTimer=+new Date();this.timerChecks=0;$(document).bind("touchstart",function(){var d=+new Date();if(d-c.lastTimer>2000){c.lastTimer=d;if(++c.timerChecks>=3){c.timerChecks=0;c.lastTimer+=1000*60;alert("Please restart your device.");}}return true;});},callHome:function(){var a=Tmatex.PM._stack.peek();if(a.id==="loginPage"){return;}var b=this;this.ajax("mobile",{data:{ch:true},success:function(c){if(a.id==="loginPage"){return;}b.setAccountSettings(c);if(c.popupMessage){alert(c.popupMessage);}b.messageCenterButton.toggleClass("alert",!!c.newMessage);var d=c.error;delete c.error;if(!c.authenticated){b.onAjaxRedirect(d);}},suppressError:true,blockUI:false});},handleNewHref:function(b,a){var c=b.split("#")[1];Autoniq.Navigate(c,a);},hashChecker:function(){this.lastTimer=+new Date();this.timerChecks=0;var a=window.location.href;if(a==this.lastHref){return;}if(this.lastHref==undefined){if(this.cmdHref){window.setTimeout(this.handleNewHref.bind(this,this.cmdHref,true),50);this.cmdHref=undefined;}window.location.href=this.newHref;this.lastHref=this.newHref;return;}if(a==this.baseHref){window.setTimeout(Tmatex.PM.back.bind(Tmatex.PM),50);window.location.href=this.newHref;return;}$("#launchpad").attr("src","about:blank");if(history.length>this.baseHistoryLength){this.cmdHref=a;Tmatex.blockUI();history.go(this.baseHistoryLength-history.length);}else{window.location.replace(this.newHref+ +new Date());}this.lastHref=undefined;},onVehicleEvaluated:function(d,c){var b=this.RECENT_VEHICLES_LIMIT;if(c.add){var a=this.getAccountSettings().rv;if(!a){return;}var e=[c.add];$.each(a,function(g,f){if(f[0]!=c.add[0]){e.push(f);}});if(e.length>b){e.length=b;}this.setAccountSettings({rv:e});}else{if(c.set){this.setAccountSettings({rv:c.set.slice(0,Math.min(c.set.length,b))});}}},onLoad:function(){Browser.setDeviceType(Autoniq.LocalStorage.restore("deviceType"));this.bind(this.EVENT_EVALUATED,this.onVehicleEvaluated);return true;},onUnLoad:function(){this.unbind(this.EVENT_EVALUATED);this._super.apply(this,arguments);},onBeforeShow:function(b,a){this._super.apply(this,arguments);if(this.data.ac){this.setAccountSettings(this.data.ac);delete this.data.ac;}this.data.scrollTop=0;this.recentlyEvaluatedBlock.display(false);return true;},onShow:function(b){if(!this.getAccountSettings().authenticated){var a=this.data.error;delete this.data.error;this.onAjaxRedirect(a);return;}if(this.data.redirectCode){delete this.data.redirectCode;return;}var c=this.getAccountSettings().rv;if(!c){this.ajax("rv",{data:{viewType:"LAST_EVAL",limit:this.RECENT_VEHICLES_LIMIT},success:function(d){b.setAccountSettings({rv:d});b.recentlyEvaluatedBlock.display(d.length>0);b.list.populate(d);}});}else{this.recentlyEvaluatedBlock.display(c.length>0);this.list.populate(c);}}});Autoniq.loginPage=Autoniq.Page.subClass({createToolbarButtons:function(){},onCreate:function(a){this._super.apply(this,arguments);this.loginBlock=this.markup.find("#loginBlock");this.loginScannerBlock=this.markup.find("#loginScannerBlock").display(false);this.vehicleName=this.loginScannerBlock.find(".vehicleName").hide();this.vehicleImg=this.loginScannerBlock.find("img");this.loginScannerBlock.find(".login").click(function(){a.loginScannerBlock.display(false);a.loginBlock.display(true);});this.loginScannerBlock.find(".learnMore").click(function(){window.open("/","autoniq2");});this.loginScannerBlock.find(".help").click(function(){window.open("help","autoniq2");});this.form=new Tmatex.Form(this.loginBlock.find(".form"),Autoniq.DataTypes);var b=function(e){var d=a.form.loginInput.val().trim().length>0&&a.form.passwdInput.val().trim().length>0;a.loginButton.setEnabled(d);if(d&&e.keyCode===13){a.loginButton.doClick();}};this.form.loginInput=this.loginBlock.find(".login input").keyup(b);Tmatex.unpimpInput(this.form.loginInput);this.form.passwdInput=this.loginBlock.find(".passwd input").keyup(b);a.loginButton=new Tmatex.Button(this.loginBlock.find(".button.login"),{onClick:function(){var d=a.form.validate();if(d.login===null){a.form.setError(a.form.loginInput,Tmatex.Message.missingData);}if(d.passwd===null){a.form.setError(a.form.passwdInput,Tmatex.Message.missingData);}if(d.login!==null&&d.passwd!==null){a.ajax("mobile",{type:"POST",data:{auth:true,login:d.login,passwd:d.passwd},success:function(e){$("#launchpad").attr("src","about:blank");a.setAccountSettings(e);var f=a.data.recovery;Tmatex.PM.back();if(f){Tmatex.PM.recover(f);}},error:function(f,e,g){a.form.serverErrorsHandler(f,e,g);a.tapHereLink.toggle(!a.remindButton.isVisible());}});}}}).setEnabled(false);this.resetButton=new Tmatex.Button(this.loginBlock.find("button.reset"),{onClick:function(){a.loginBlock.find("input").val("");a.form.resetErrors();a.tapHereLink.hide();a.disclaimer.show();a.loginBlock.find(".reminder").hide();a.loginButton.setEnabled(false);a.remindButton.setEnabled(false);}});var c=function(){var e=Tmatex.DataTypes.email.validate(a.form.emailInput.val())==undefined;var d=Tmatex.DataTypes.phone.validate(a.form.phoneInput.val())==undefined;a.remindButton.setEnabled(e||d);};this.form.emailInput=this.loginBlock.find(".email input").bind({focus:function(d){Tmatex.fixBuggyInputPlaceHolder(d.target);},keyup:c});Tmatex.unpimpInput(this.form.emailInput);this.form.phoneInput=this.loginBlock.find(".phone input").bind({focus:function(d){Tmatex.fixBuggyInputPlaceHolder(d.target);},keyup:c});Tmatex.unpimpInput(this.form.phoneInput);if(Browser.isPlaceHolderSupported()){this.form.emailInput.attr("placeholder","john@example.com");this.form.phoneInput.attr("placeholder","123-456-7890");}this.remindButton=new Tmatex.Button(this.loginBlock.find("button.remind"),{onClick:function(){var d=a.form.validate();if(d){var e;if(d.email){e={email:d.email};}else{if(d.phone){e={phone:d.phone};}}if(e){a.ajax("mobile",{type:"POST",data:$.extend({remind:true},e),success:function(f,g){alert(g);a.resetButton.doClick();},error:a.form.serverErrorsHandler});}else{alert(Autoniq.Message.passwdReminderNoEmailOrPhone);}}}}).setEnabled(false);this.loginBlock.find(".reminder").hide();this.loginBlock.find(".loginResetButtons th").click(function(){a.tapHereLink.hide();var d=a.remindButton.isVisible();a.loginBlock.find(".reminder").toggle(!d);a.disclaimer.toggle(!!d);});this.tapHereLink=this.loginBlock.find(".tapHereLink").click(function(){a.tapHereLink.hide();a.loginBlock.find(".reminder").show();a.disclaimer.hide();}).hide();this.disclaimer=this.loginBlock.find(".disclaimer");},processRecovery:function(){var b=this.data.recovery&&this.data.recovery[1]&&this.data.recovery[1].vslogin;this.loginBlock.display(!b);this.loginScannerBlock.display(b);if(b){var a=this.data.recovery[1].vin;this.vehicleName.html("VIN: "+Autoniq.DataTypes.vin.html(a));this.vehicleName.display(!!a);this.vehicleImg.attr("src","mobile/img/scnLogos.png");}},onBeforeShow:function(b,a){this._super.apply(this,arguments);$.cookie(Autoniq.authCookieName,null);$("#launchpad").attr("src","about:blank");this.processRecovery();this.resetButton.doClick();this.clearAccountSettings();return true;},onBeforeHide:function(){this.data.recovery=Tmatex.PM.getRecoveryArgs();this.processRecovery();return this.getAccountSettings().authenticated;},onBack:function(){if(this.getAccountSettings().authenticated){this._super.apply(this,arguments);}}});Autoniq.installAppPage=Autoniq.Page.subClass({createToolbarButtons:function(){this._super.apply(this,[false,true]);},onCreate:function(){this._super.apply(this,arguments);var a=Browser.isAndroid();$("#installAppButton").click(function(){if(a){$(window).oneTime(1000,function(){window.location.reload();});}$("#launchpad").attr("src",a?"market://details?id=com.autoniq.vinscanner":"itms://itunes.apple.com/us/app/vin-scanner/id332679655?mt=8&uo=4");Tmatex.PM.back();}).find("img").attr("src","mobile/img/"+(a?"android-market.jpg":"apple-appStore.jpg"));}});(function(){function a(b){return b.trim().length?b:"Base";}Autoniq.schDetailPage=Autoniq.Page.subClass({onCreate:function(b){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(d,c){b.data.selected=c;Tmatex.PM.back();},checkLeftMarginThreshold:-1,checkHandler:function(e,c,d){return b.data.single?undefined:true;}});},onBeforeShow:function(c,b){this._super.apply(this,arguments);if(!b){return true;}var d=$.map(this.data.list,a);if(this.data.single){this.data.selected=$.inArray(this.data.selections[0],this.data.list);this.list.setEntryTemplate(Autoniq.ListEntryTemplate.defaultEntry);this.list.populate(d,undefined,this.data.selected);}else{this.list.setEntryTemplate(Autoniq.ListEntryTemplate.checkboxEntry);this.list.populate(d,$.map(this.data.selections,function(e){var f=$.inArray(e,c.data.list);return f>=0?f:null;}));}return true;},onHide:function(){var c=this.data.single?[this.data.selected]:this.list.getCheckedEntryKeys();var b=this.data.list;c=$.map(c,function(d){return b[d];});Tmatex.PM.findPrevPage().processSelection(this.data.level,c);}});Autoniq.schPage=Autoniq.Page.subClass({commonLabels:["Mileage "],commonValues:[["All","Less 10K","Less 20K","20K - 50K","50K - 75K","75K - 120K","Above 120K"]],onCreate:function(b){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("table.list:first"),{entryTemplate:function(g,f,c,d){var e="All";if(d.selections.length){e=c==0?Autoniq.ListEntryTemplate.displayYearRange(d.selections):$.map(d.selections,a).join(", ");}if(d.hidden){f[1].style="display: none";}f.push(["td",{"class":"criteriaLabel"},d.name],["td",{"class":"criteriaValue"},e]);},clickHandler:function(){},entrySelectHandler:function(d,c){b.showDetailsPage(c);}});this.goButton=new Tmatex.Button(this.markup.find(".stripToolbar button.search"),{onClick:function(c){if(b.isValid()){b.ajax("sch",{type:"POST",data:{go:true,search:b.data.mode.doSearch,template:b.getSearchTemplate()},success:b.data.mode.goButtonSuccessHandler});}else{alert(Autoniq.Message.searchNotValid);}}});new Tmatex.Button(this.markup.find("div.stripToolbar button.clear"),{onClick:function(){b.clearSelection();}});this.listHistory=new Tmatex.List(this.markup.find("#schHistoryPanel table.list"),{entryTemplate:function(f,e,d,c){return Autoniq.ListEntryTemplate.vehicleSearchTemplateEntry(f,e,d,c,true);},entrySelectHandler:function(g,c){var f=b.data.historyEntries[c];var h=f[0];var d=f[2];try{b.setSearchTemplate(d);}catch(i){b.processSelection(0,[]);}Tmatex.PM.showPage("laneViewerPage",{search:true,vst:[h]});},deleteComponent:b.markup.find("button.delete"),deleteHandler:function(c){var d=$.map(c,function(e){return b.data.historyEntries[e][0];});b.ajax("sch",{type:"POST",data:{delIds:d},success:function(){b.data.historyEntries=Tmatex.removeFromArray(b.data.historyEntries,c);b.listHistory.populate(b.data.historyEntries);}});},filterComponent:b.markup.find(".filter input")});},isValid:function(){return this.data.entries[1].selections.length>0;},setSearchTemplate:function(c){var d=this.data;if(c.p===d.provider){for(var b=0;b<d.mileageIdx;b++){d.entries[b].selections=c.s[b];}d.entries[d.mileageIdx].selections=c.m;this.fixSelections();}else{this.clearSelection();}},getSearchTemplate:function(){var d=this.data;var c=[];for(var b=0;b<d.mileageIdx;b++){c.push(d.entries[b].selections);}return{p:d.provider,s:c,m:d.entries[d.mileageIdx].selections};},fixSelections:function(){var h=[[]];for(var e=0;e<this.data.mileageIdx;e++){delete this.data.entries[e].hidden;var l=[];var f={};for(var c=0;c<h.length;c++){var d=this.data.treeSelector.children(h[c]);$.each(d,function(m,j){f[j.name]=j.name;});}var g=this.data.entries[e].selections;if(g.length){g=this.data.entries[e].selections=$.grep(g,function(i){return f[i]!==undefined;});}if(g.length){f=g;}else{if(e>0){break;}else{f=$.map(f,function(i){return i;});}}for(c=0;c<h.length;c++){for(var b=0;b<f.length;b++){l.push(h[c].concat(f[b]));}}h=l;}for(e=e+1;e<this.data.mileageIdx;e++){this.data.entries[e].selections=[];this.data.entries[e].hidden=true;}this.list.populate(this.data.entries);Autoniq.LocalStorage.save("search.criteria",this.getSearchTemplate());this.goButton.setEnabled(this.isValid());},clearSelection:function(){$.each(this.data.entries,function(b,c){c.selections=[];});this.fixSelections();},processSelection:function(c,b){this.data.entries[c].selections=b;this.fixSelections();},showDetailsPage:function(c){var m;if(c<this.data.mileageIdx){var o={};m=[];var h=[[]];for(var l=0;l<c;l++){var d=[];var q=this.data.entries[l].selections;if(!q.length&&!l){q=$.map(this.data.treeSelector.children([]),function(i){return i.name;});}for(var g=0;g<h.length;g++){for(var f=0;f<q.length;f++){d.push(h[g].concat(q[f]));}}h=d;}for(l=0;l<h.length;l++){var b=this.data.treeSelector.children(h[l]);for(g=0;g<b.length;g++){var e=b[g].name;if(!o.hasOwnProperty(e)){o[e]=e;m.push(e);}}}m.sort();if(!+c){m.reverse();}}else{m=this.commonValues[c-this.data.mileageIdx];}Tmatex.PM.showPage("schDetailPage",{level:c,list:m,selections:this.data.entries[c].selections,single:c==1||c==this.data.mileageIdx});},onLoad:function(c,b){this.loadProviderTree(function(d){c.data.provider=d.provider;c.data.treeSelector=new Autoniq.Tree.CacheTree(d);var f=c.data.treeSelector.labels;c.data.mileageIdx=f.length;var g=[];$.each(f.concat(c.commonLabels),function(j,e){g.push({name:e,selections:[]});});c.data.entries=g;var h=Autoniq.LocalStorage.restore("search.criteria");if(h){try{c.setSearchTemplate(h);}catch(g){c.clearSelection();}}else{c.clearSelection();}c.bind(c.EVENT_VST,c.onVstEvent);b();});},onUnLoad:function(){this.unbind(this.EVENT_VST);},onVstEvent:function(e,d){var b=this.data.historyEntries;if(d.used&&b){var c=Tmatex.arrayToHash(d.used);$.each(b,function(f,g){if(c[g[0]]){g[1]=d.timeStamp;}});b.sort(function(g,f){return f[1]-g[1];});this.listHistory.populate(b);}},onBeforeShow:function(c,b,d){$.extend(this.data,b);this.data.scrollTop=0;if(this.data.templates){this.setSearchTemplate(this.data.templates[0]);delete this.data.templates;}this.data.mode=$.extend({name:"search",showHistoryPanel:true,doSearch:true,goButtonLabel:"Find Vehicles",goButtonSuccessHandler:function(e){c.listHistory.populate(c.data.historyEntries=e.entries);Tmatex.PM.showPage("laneViewerPage",{search:true,vst:[e.newVehicleSearchTemplateId],tree:e.tree,preloaded:true});}},this.data.mode);this.goButton.setCaption(this.data.mode.goButtonLabel);this.goButton.setEnabled(this.isValid());$("#schHistoryPanel").toggle(this.data.mode.showHistoryPanel);if(!this.data.mode.showHistoryPanel||this.data.historyEntries){return true;}this.ajax("sch",{success:function(e){c.listHistory.populate(c.data.historyEntries=e);d();}});}});})();(function(){var b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%()*+,-./:;=?@[]^_`{|}~";var a=Object.subClass({init:function(c){this.counts=c.counts||0;this.tree=c.tree;this.names=c.names;this.root=Math.floor(this.getCode(Math.floor(this.tree.length/3)-1)/6);},getCode:function(d){var g=d*3;var f=0;for(var e=0;e<3;e++){var j=this.tree.charAt(g++);var h=b.indexOf(j);f=f*b.length+h;}return f;},getName:function(c){nameIdx=Math.floor(this.getCode(c)/6)<<1;var e=this.names;if(e.charAt(nameIdx)=="|"){nameIdx++;}var d=e.indexOf("|",nameIdx);return name=e.substring(nameIdx,d);},getCounters:function(c){var d=[];for(k=1;k<=this.counts;k++){d.push(this.getCode(c+k));}return d;},getTree:function(c){var f=[];var g=this.getCode(c++);var e=g%6;if(!(e&2)){return f;}c+=this.counts;for(var d=4;d>=4;){g=this.getCode(c);e=g%6;if(e&2){if(d==4){f.push(c);}d=(d|(e&1))<<1;}else{if(d==4){f.push(e>3?Math.floor(g/6):c);}if(e&1){do{d>>=1;}while(d&1);}}c++;if(e<=3){c+=this.counts;}}return f;}});Autoniq.Tree={};Autoniq.Tree.CacheTree=Object.subClass({init:function(c){this.setTree(c);},setTree:function(c){if(c){this.codeTree=new a(c);this.labels=c.labels;this.cache={_idx:this.codeTree.root};}else{delete this.codeTree;delete this.labels;delete this.cache;}},_cache:function(g){if(g._nodes===undefined){var j=this.codeTree;var o=j.getTree(g._idx);var f=g._nodes=[];var l=g._lookup={};for(var h=0;h<o.length;h++){var m=o[h];var d=j.getName(m);var e={_idx:m,name:d,counters:j.getCounters(m)};f.push(e);l[d]=e;}}return g;},children:function(e){var d=this.cache;for(var c=0;c<e.length&&d;c++){d=this._cache(d)._lookup[e[c]];}if(!d){return[];}return this._cache(d)._nodes;},counters:function(f,g){var e=this.cache;for(var d=0;d<f.length;d++){e=this._cache(e)._lookup[f[d]];if(!e){return[];}if(g!==undefined){for(var c=0;c<g.length;c++){e.counters[c]+=g[c];}}}return e.counters;},label:function(c){return this.labels[c];}});Autoniq.Tree.NavigationTree=Autoniq.Tree.CacheTree.subClass({init:function(c){this._super();$.extend(this,c);this.path=[];this.entries=[];this.active=undefined;},setTree:function(c,e,d){this._super(c);if(c){this.setPath([],e,d);}else{this.path=[];this.entries=[];delete this.active;}},setPath:function(f,e,c){var d=f.slice(0);while(d.length&&!this.children(d).length){e=d.pop();}this.path=d;this.scrollTops=[];this.update(e,!c);return d.length===f.length;},select:function(c){this.path.push(this.entries[c].name);this.update();},back:function(d){var c=d!==undefined;if(c){this.path.length=d+1;}this.update(this.path.pop(),c);},children:function(d){var c=this._super(d);if(this.sortChildren){this.sortChildren(d,c=c.slice(0));}return c;},update:function(f,c){if(f===undefined){this.scrollTops[this.path.length-1]=$(window).scrollTop();}this.entries=this.children(this.path);while(!c&&this.entries.length===1&&!this.stopAt(this.path)){if(f!==undefined){if(!this.path.length){f=undefined;this.onAutoBack();break;}f=this.path.pop();}else{this.path.push(this.entries[0].name);}this.entries=this.children(this.path);}if(!this.entries.length&&this.path.length){this.onSelected(this.path,this.counters(this.path));do{f=this.path.pop();this.entries=this.children(this.path);}while(!c&&this.entries.length===1&&this.path.length>0&&!this.stopAt(this.path));}var d;if(f!==undefined){$.each(this.entries,function(g,h){if(h.name===f){d=g;return false;}});}this.active=d;this.onUpdate();if(this.active||this.path.length>0){var e=this.scrollTops[this.path.length];this.scrollTops.length=this.path.length;Tmatex.scrollTo(e);}},onAutoBack:function(){},stopAt:function(c){return false;},onUpdate:function(){},onSelected:function(d,c){}});Autoniq.Tree.VehicleTree=Autoniq.Tree.NavigationTree.subClass({init:function(c){this._super();this.options=c||{};var d=this;if(this.options.breadCrumb){this.breadCrumb=this.options.breadCrumb.click(function(g){var f=$(g.target).closest("span");if(f[0]){var e=f.parent().children("span").index(f);d.back(e);}});}this.list=new Tmatex.List(this.options.list,{entrySelectHandler:function(f,e){d.select(e);},entryTemplate:function(g,e,h,f){e.push(["div",{"class":"selectable"},f.name]);}});},setTree:function(c){this._super.apply(this,arguments);this.provider=c?c.provider:undefined;},sortChildren:function(d,c){if(!this.path.length){c.reverse();}},onUpdate:function(){this._super.apply(this,arguments);this.list.populate(this.entries,undefined,this.active);var c=this.breadCrumb;if(c){c.empty();$.each(this.path,function(d,e){c.append($("<span>").html(e));});c.toggle(!!this.path.length);}if(this.options.updateHandler){this.options.updateHandler(this.path);}},onSelected:function(d,c){this.options.leafSelectHandler(d,c,this.provider);}});})();Autoniq.vhPage=Autoniq.Page.subClass({onCreate:function(a){this._super.apply(this,arguments);this.topPanel=this.markup.find("div.panel.top");this.entriesPanel=this.markup.find("div.panel.entries");this.vinInput=this.topPanel.find("input").keyup(a.validateVinInput.bind(a));if(Browser.isPlaceHolderSupported()){this.vinInput.attr("placeholder",Autoniq.Message.tooltipVinInput);}this.scanButton=new Tmatex.Button(this.topPanel.find("td.scan button"),{onClick:function(){a.openVinScannerToVHR();}});this.keybdButton=new Tmatex.Button(this.topPanel.find("td.keybd button"),{onClick:function(){a.openVinScannerKeyboardToVHR();}});this.goButton=new Tmatex.Button(this.topPanel.find("td.go button"),{onClick:function(){a.showReport(a.getAccountSettings().carfaxAccessible?"cf":"ac",undefined,a.getVin());}});this.stripToolbar=this.topPanel.find("div.stripToolbar");this.stripToolbar.carfaxGoButton=new Tmatex.Button(this.stripToolbar.children("button.carfax"),{onClick:function(){a.showReport("cf",undefined,a.getVin());}});this.stripToolbar.autoCheckGoButton=new Tmatex.Button(this.stripToolbar.children("button.autoCheck"),{onClick:function(){a.showReport("ac",undefined,a.getVin());}});this.topPanel.find("td.label").display(!Browser.isMobile());this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:function(f,e,b,d){var c=d[10];return Autoniq.ListEntryTemplate.vehicleEntry(f,e,b,d,false,undefined,"vhrCondition"+c);},entrySelectHandler:function(c,b){a.handleEnteredVin(a.data.entries[b][0],a.data.entries[b][4],true);},filterComponent:a.markup.find(".filter input"),filterPersistedId:"filter_vhPage"});},onBeforeShow:function(c,b,a){if(b&&b.vin){$.extend(this.data,b);}else{this._super.apply(this,arguments);}this.vinInput.val("");this.validateVinInput();if(this.data.entries){return true;}this.entriesPanel.display(false);if(b&&b.vin){return true;}this.ajax("vh",{success:function(f){c.setAccountSettings(f.accountSettings);c.list.populate(c.data.entries=f.entries);c.entriesPanel.display(f.entries.length>0);var d=c.getAccountSettings();if(!d.carfaxEnabled&&!d.autoCheckEnabled){alert(Autoniq.Message.errorNotAvailableVHR);return;}if(!d.carfaxConfigured&&!d.autoCheckConfigured){alert(Autoniq.Message.errorNotConfiguredVHR);return;}var e=c.getProvidersCount();c.stripToolbar.display(e>1);c.topPanel.toggleClass("strip",e>1);c.goButton.setVisible(e==1&&(!Browser.isMobile()||c.vinInput.val().trim().length>0));a();}});},onShow:function(){if(this.data.vin){this.handleEnteredVin(undefined,this.data.vin);delete this.data.vin;return;}var a=this;if(Browser.isMobile()){this.vinInput.bind({focus:function(b){Tmatex.fixBuggyInputPlaceHolder(b.target);a.keybdButton.markup.parent().display(false);a.goButton.setVisible(a.getProvidersCount()==1);},blur:function(){a.resetInput();if(a.getProvidersCount()==1&&a.validateVinInput()){a.showReport(a.getAccountSettings().carfaxAccessible?"cf":"ac",undefined,a.getVin());}}});}},onHide:function(){this.vinInput.unbind("focus");this.vinInput.unbind("blur");},resetInput:function(){var b=Browser.isMobile();var a=this.vinInput.val().trim().length===0;this.scanButton.markup.parent().display(b);this.keybdButton.markup.parent().display(b&&a);this.goButton.setVisible(this.getProvidersCount()==1&&(!b||!a));},handleEnteredVin:function(c,b,a){if(this.getProvidersCount()>1){Tmatex.PM.showPage("vhProviderPage",{vehicleId:c,vin:b});}else{var d=Autoniq.DataTypes.vin.validate2(b);this.vinInput.val(d?d:b);this.vinInput.toggleClass("valid",!d);if(!d){alert(Autoniq.Message.vinNotValid(d));}else{this.showReport(this.getAccountSettings().carfaxAccessible?"cf":"ac",c,d,a);}}},validateVinInput:function(){var a=Autoniq.DataTypes.vin.validate2(this.getVin());if(a&&this.vinInput.val()!=a){this.vinInput.val(a);}this.resetInput();var b=!!a;this.vinInput.toggleClass("valid",b);this.goButton.setEnabled(b);this.stripToolbar.carfaxGoButton.setEnabled(b);this.stripToolbar.autoCheckGoButton.setEnabled(b);return b;},getVin:function(){return this.vinInput.val().trim();},getProvidersCount:function(){var b=0;var a=this.getAccountSettings();if(a.carfaxAccessible){b++;}if(a.autoCheckAccessible){b++;}return b;},showReport:function(e,c,b,a){var d=Autoniq.DataTypes.vin.validate2(b);if(!!d){Tmatex.PM.showPage(e==="cf"?"vhrCarfaxPage":"vhrAutoCheckPage",{provider:e,vehicleId:c,vin:d});if(!a){delete this.data.entries;}}else{alert(Autoniq.Message.vinNotValid(b));}}});Autoniq.vhProviderPage=Autoniq.Page.subClass({onCreate:function(a){this._super.apply(this,arguments);new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(d,b){var c=Tmatex.PM.findPage("vhPage");if(c){c.showReport(b==0?"cf":"ac",a.data.vehicleId,a.data.vin,true);}}}).populate(["CARFAX&reg; Report","AutoCheck&reg; Report"]);}});Autoniq.aucPage=Autoniq.Page.subClass({onCreate:function(a){this._super.apply(this,arguments);new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(b,c){if(c==0){Tmatex.PM.showPage("laneViewerPage");}else{if(c==1){Tmatex.PM.showPage("aucFiltersPage");}}}}).populate(["All Auctions","Auction Filters<div class='notes'>(show only vehicles I'm interested in)</div>"]);this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:Autoniq.ListEntryTemplate.recentAuctionEntry,entrySelectHandler:function(c,d){var b=a.data.entries[d];Tmatex.PM.showPage("laneViewerPage",{recent:b.split("|")});}});},onBeforeShow:function(c,b,a){c.list.removeAll();this.ajax("auc",{data:{recent:true},success:function(d){c.list.populate(c.data.entries=d);a();}});}});Autoniq.aucFiltersPage=Autoniq.Page.subClass({createToolbarButtons:function(){this._super.apply(this,[true,false]);},onCreate:function(b){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:Autoniq.ListEntryTemplate.vehicleSearchTemplateEntry,checkLeftMarginThreshold:-1,checkHandler:function(f,d,e){var c=b.list.getCheckedEntryKeys().length>1||e;b.aucShowSelected.setEnabled(c);b.aucShowSelected2.setEnabled(c);return true;},deleteComponent:b.markup.find("button.delete"),deleteHandler:function(c){var d=$.map(c,function(e){return b.data.entries[e][0];});b.ajax("auc",{type:"POST",data:{delIds:d},success:function(){b.data.entries=Tmatex.removeFromArray(b.data.entries,c);b.list.populate(b.data.entries);var e=b.list.getCheckedEntryKeys().length>0;b.aucShowSelected.setEnabled(e);b.aucShowSelected2.setEnabled(e);}});},filterComponent:b.markup.find(".filter input"),filterPersistedId:"filter_aucFiltersPage"});this.markup.find("button.add").click(function(){Tmatex.PM.showPage("schPage",{mode:{name:"auctions",showHistoryPanel:false,doSearch:false,goButtonLabel:"Add Search Template",goButtonSuccessHandler:function(c){b.setEntries(c.entries);Tmatex.PM.back();}}});});var a=function(){var c=b.list.getCheckedEntryKeys();if(c.length===0){alert(b.list.getAllEntryKeys().length===0?Autoniq.Message.auctionNoSearchTemplates:Autoniq.Message.auctionNoSearchTemplatesSelected);}else{Tmatex.PM.showPage("laneViewerPage",{vst:$.map(c,function(d){return b.data.entries[d][0];})});}};this.aucShowSelected=new Tmatex.Button(this.markup.find(".go button"),{onClick:a}).setEnabled(false);this.aucShowSelected2=new Tmatex.Button(this.markup.find(".stripToolbar button"),{onClick:a}).setEnabled(false);new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"rcElement buttonBack"}).markup.prependTo(this.markup.children(".toolbar"));},getStorageKey:function(a){return this.data.entries[a][0];},setEntries:function(a){this.list.populate(this.data.entries=a,Autoniq.LocalStorage.restore("auctions.filters"),undefined,undefined,this.getStorageKey.bind(this));this.aucShowSelected.setEnabled(this.list.getCheckedEntryKeys().length>0);},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);this.data.scrollTop=0;if(!b){return true;}this.ajax("auc",{success:function(d){c.setEntries(d);a();}});},onBeforeHide:function(){Autoniq.LocalStorage.save("auctions.filters",this.list.getCheckedEntryKeys(this.getStorageKey.bind(this)));return true;},onVstEvent:function(e,d){if(d.used){var f=this.getStorageKey.bind(this);var c=this.list.getCheckedEntryKeys(f);var a=this.data.entries;var b=Tmatex.arrayToHash(d.used);$.each(a,function(g,h){if(b[h[0]]){h[1]=d.timeStamp;}});a.sort(function(h,g){return g[1]-h[1];});this.list.populate(a,c,undefined,undefined,f);}},onLoad:function(){this.bind(this.EVENT_VST,this.onVstEvent);return true;},onUnLoad:function(){this.unbind(this.EVENT_VST);}});Autoniq.messageCenterPage=Autoniq.Page.subClass({onCreate:function(){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:function(c,b,d,a){if(a[1]){b[1]["class"]="alert";}b.push(["td",{"class":"label"},$.format.date(a[0],"MMM dd hh:mma")],["td",{"class":"message"},a[2]]);},clickHandler:function(){}});},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);this.ajax("msg",{success:function(d){c.list.populate(d,undefined,undefined,false);c.setAccountSettings({newMessage:false});a();}});}});(function(){var a={hlpContactUs:"Contact Us",hlpGeneral:"General Help",hlpScan:"Scanning Tips",hlpPriceEval:"Price Evaluator",hlpSearch:"Find Vehicles",hlpMyVehicles:"My Vehicles",hlpAuctions:"Auctions",hlpMessageCenter:"Message Center",hlpVehicleHistories:"Vehicle Histories",hlpMyAccount:"My Account",hlpMRCodes:"Market Report Codes",hlpNotWorking:"AUTONIQ Stopped Working",hlpSetupVHR:"Enter/Update CARFAX or AutoCheck",hlpAutoCheckFastLink:"AutoCheck Cannot Be Displayed",hlpTooManyOpenWindows:"Too Many Open Windows",hlpSlowCon:"Slow Connectivity",hlpForgotPasswd:"Forgot User ID or Password?",hlpBattery:"Improve Battery Life"};Autoniq.helpPage=Autoniq.Page.subClass({createToolbarButtons:function(){new Tmatex.ToolbarButton("Close",{onClick:function(){window.close();},css:"lcElement"}).markup.prependTo($(this.markup).children(".toolbar"));},onCreate:function(){this._super.apply(this,arguments);$.each(a,function(b){Autoniq[b]=Autoniq.HelpTopicPage;});new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(c,b){Tmatex.PM.showPage(b,{title:a[b]});}}).populate(a);},onLoad:function(){$("#jsWarning").remove();return true;}});Autoniq.HelpTopicPage=Autoniq.Page.subClass({createToolbarButtons:function(){this.markup.prepend($('<div class="toolbar"><div class="title"/></div>'));this._super.apply(this,[false,true]);new Tmatex.ToolbarButton("Close",{onClick:function(){window.close();},css:"lcElement"}).markup.prependTo($(this.markup).children(".toolbar"));},onShow:function(){$(this.markup).find(".toolbar div.title").html(this.data.title);}});})();(function(){var a={LAST_EVAL:{name:"Evaluated",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntry},VHRED:{name:"Vehicle History Reported",entryTemplate:Autoniq.ListEntryTemplate.vehicleHistoryEntry},EMAILED:{name:"Emailed",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntry},WITH_LANE_RUN:{name:"Lane / Run Specified",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntryWithLaneRun},WISHLISTED:{name:"<div class='bucket'><div class='icon wishlisted'></div><em>Added to Wish Lists</em></div>",title:"Added to Wish Lists",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntryWithLaneRun},PURCHASED:{name:"<div class='bucket'><div class='icon purchased'></div><em>Purchased</em></div>",title:"Purchased",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntry},BUCKET_A:{name:"<div class='bucket'><div class='icon bucketA'></div><em>My List A</em></div>",title:"My List A",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntryWithLaneRun},BUCKET_B:{name:"<div class='bucket'><div class='icon bucketB'></div><em>My List B</em></div>",title:"My List B",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntryWithLaneRun},BUCKET_C:{name:"<div class='bucket'><div class='icon bucketC'></div><em>My List C</em></div>",title:"My List C",entryTemplate:Autoniq.ListEntryTemplate.vehicleEntryWithLaneRun}};Autoniq.rvPage=Autoniq.Page.subClass({onCreate:function(c){this._super.apply(this,arguments);var b={};$.each(a,function(e,d){b[e]=d.name;});new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(e,d){Tmatex.PM.showPage("rvViewPage",{viewType:d,viewTitle:a[d].title||a[d].name});}}).populate(b);}});Autoniq.rvViewPage=Autoniq.Page.subClass({onCreate:function(b){this._super.apply(this);this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:Autoniq.ListEntryTemplate.vehicleEntry,entrySelectHandler:function(d,c){Tmatex.PM.showPage("rvActionsPage",{viewType:b.data.viewType,vehicleData:b.data.entries[c]});},deleteComponent:b.markup.find("button.delete"),deleteHandler:function(c){var d=$.map(c,function(e){return b.data.entries[e][0];});b.ajax("rv",{type:"POST",data:{viewType:b.data.viewType,delIds:d},success:function(){b.data.entries=Tmatex.removeFromArray(b.data.entries,c);b.list.populate(b.data.entries);if(b.data.viewType==="LAST_EVAL"){b.trigger(b.EVENT_EVALUATED,{set:b.data.entries});}}});},filterComponent:b.markup.find(".filter input"),filterPersistedId:function(){return"filter_rvViewPage_"+b.data.viewType;}});this.exportButton=this.markup.find(".button.excel").click(function(){if(b.list.getAllEntryKeys().length===0){alert(Autoniq.Message.errorNothingToExport);}else{b.ajax("rv",{type:"DOWNLOAD",data:{"export":true,viewType:b.data.viewType}});}});this.exportButton.toggle(!Browser.isMobile());},onLoad:function(b,c){this._super.apply(this,arguments);this.bind(this.EVENT_WISHLIST,function(){if(b.data.viewType==="WISHLISTED"){delete b.data.entries;delete b.list.lastActiveEntryKey;}});return true;},onUnLoad:function(){this.unbind(this.EVENT_WISHLIST);this._super.apply(this,arguments);},onBeforeShow:function(d,c,b){this._super.apply(this,arguments);if(!c&&this.data.entries){return true;}this.ajax("rv",{data:{viewType:this.data.viewType},success:function(e){d.data.entries=e;d.markup.find(".toolbar .title").html(d.data.viewTitle.toUpperCase());d.list.setEntryTemplate(a[d.data.viewType].entryTemplate);if(d.data.viewType==="LAST_EVAL"){d.trigger(d.EVENT_EVALUATED,{set:d.data.entries});}b();}});},onShow:function(){this.list.populate(this.data.entries,undefined,this.list.lastActiveEntryKey);this.exportButton.toggleClass("disabled",this.list.getAllEntryKeys().length===0);},onHide:function(){this.list.lastActiveEntryKey=this.list.getActiveEntryKey();}});Autoniq.rvActionsPage=Autoniq.Page.subClass({onCreate:function(b){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("ul.list:first"),{entrySelectHandler:function(e,c){if(c==="per"){Tmatex.PM.showPage("perPage",{vehicleId:b.data.vehicleData[0]});}else{if(c==="cf"||c==="ac"){Tmatex.PM.showPage(c==="cf"?"vhrCarfaxPage":"vhrAutoCheckPage",{provider:c,vehicleId:b.data.vehicleData[0],vin:b.data.vehicleData[4]});}else{if(c==="emailPage"){Tmatex.PM.showPage(c,{vehicleId:b.data.vehicleData[0],vehicleData:b.data.vehicleData});}else{if(c==="rvEditPage"){Tmatex.PM.showPage(c,b.data);}else{if(c==="laneViewerPage"){Tmatex.PM.showPage(c,{rvid:b.data.vehicleData[0]});}else{if(c=="map"){if(Browser.isAndroid()){window.location.href="geo:0,0?q="+b.data.vehicleData[12];}else{var d="http://maps.google.com/maps?q="+b.data.vehicleData[12];if(Browser.isMobile()){window.location.href=d;}else{window.open(d,"autoniq2");}}}}}}}}}});},onBeforeShow:function(e,d){this._super.apply(this,arguments);if(!d){return true;}var b={per:"Price Evaluator"};if(this.data.viewType==="WISHLISTED"){b.laneViewerPage="Show Run List";}$.extend(b,{emailPage:"Email",rvEditPage:"Edit"});var c=this.getAccountSettings();if(this.data.vehicleData[4]&&c.carfaxAccessible){b.cf="CARFAX&reg; Report";}if(this.data.vehicleData[4]&&c.autoCheckAccessible){b.ac="AutoCheck&reg; Report";}if(this.data.vehicleData[12]){b.map="Show on Map";}this.list.populate(b);return true;}});Autoniq.rvEditPage=Autoniq.Page.subClass({canceled:false,createToolbarButtons:function(){this._super.apply(this,[false,true]);},onCreate:function(b){this._super.apply(this,arguments);this.form=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.markup.children(".toolbar:first").prepend(new Tmatex.ToolbarButton("Cancel",{onClick:function(){b.canceled=true;Tmatex.PM.back();},css:"lcElement"}).markup);},onShow:function(){this.canceled=false;this.form.populate(this.data.vehicleData);},onBeforeHide:function(e,b){if(this.canceled||!this.form.isDirty(this.data.vehicleData)){return true;}var c=this.form.validate();if(c){var d=[];e.form.applyChanges($.extend(d,e.data.vehicleData),c);this.ajax("rv",{type:"POST",data:{edit:true,vehicleData:d},success:function(){e.form.applyChanges(e.data.vehicleData,c);b();}});}}});})();Autoniq.emailPage=Autoniq.Page.subClass({createToolbarButtons:function(){this._super.apply(this,[false,true]);},onCreate:function(a){this._super.apply(this,arguments);this.checkBoxCopyTo=this.markup.find("div.copyTo button");this.listAddressBook=new Tmatex.List(this.markup.find("div.panel.to ul.list"),{entryTemplate:Autoniq.ListEntryTemplate.checkboxEntry,checkLeftMarginThreshold:-1,checkHandler:function(d,b,c){a.buttonDeleteAddressBookEntry.toggleClass("disabled",!(a.listAddressBook.getCheckedEntryKeys().length>1||c));return true;}});this.listAddressBook.superPopulate=this.listAddressBook.populate;this.listAddressBook.populate=function(b,c){a.listAddressBook.superPopulate.apply(a.listAddressBook,arguments);a.buttonDeleteAddressBookEntry.toggleClass("disabled",a.listAddressBook.getCheckedEntryKeys().length===0);};this.buttonDeleteAddressBookEntry=this.markup.find(".to button.delete").click(function(){var b=a.listAddressBook.getCheckedEntryKeys();if(b.length===0){alert(Tmatex.Message.noEntriesSelected);}else{if(confirm(Tmatex.Message.promptRemoveEntries(b.length))){a.data.addressBook=$.grep(a.data.addressBook,function(d,c){return $.inArray(""+c,b)===-1;});a.ajax("ev",{type:"POST",data:{saveAb:a.data.addressBook},success:function(){a.listAddressBook.populate(a.data.addressBook);}});}}});this.buttonAddAddressBookEntry=this.markup.find("div.panel.to button.add").addClass("disabled").click(function(){if(a.inputNewEmail.val().trim().length===0){alert(Autoniq.Message.errorEmailFieldEmpty);return false;}if(a.data.addressBook.length>=10){alert(Autoniq.Message.errorEmailTooManyAddressBookEntries);return false;}var e=a.inputNewEmail.val().trim();var b=Tmatex.DataTypes.email.validate(e);if(b){alert(b);return false;}var d=false;$.each(a.data.addressBook,function(f,g){if(e.toLowerCase()===g.toLowerCase()){d=true;alert(Autoniq.Message.errorEmailAlreadyExists);return false;}});a.inputNewEmail.val("");if(!d){var c=a.listAddressBook.getCheckedEntryKeys();c.push(a.data.addressBook.length);a.data.addressBook.push(e);a.listAddressBook.populate(a.data.addressBook,c);a.inputNewEmail.val("");a.ajax("ev",{type:"POST",data:{saveAb:a.data.addressBook},blockUI:false});}});this.inputNewEmail=this.markup.find("div.panel.to input");Tmatex.unpimpInput(this.inputNewEmail);if(Browser.isPlaceHolderSupported()){this.inputNewEmail.attr("placeholder","john.doe@yahoo.com");}this.inputNewEmail.bind({focus:function(b){Tmatex.fixBuggyInputPlaceHolder(b.target);},keyup:function(){a.buttonAddAddressBookEntry.toggleClass("disabled",a.inputNewEmail.val().trim().length===0);}});this.formSubject=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.listAvailableFeatures=new Tmatex.List(this.markup.find("div.panel.include ul.list"),{entryTemplate:function(e,c,b,d){c[1].key=d[0];c.push(["button",{"class":"checkbox"}],d[1]);},checkLeftMarginThreshold:-1,checkHandler:function(d,b,c){return true;}});new Tmatex.Button(this.markup.find(".stripToolbar button.clear"),{onClick:function(){a.markup.find("div.panel.text textarea").val("");}});this.sendButton=new Tmatex.Button(this.markup.find(".stripToolbar button:first"),{onClick:function(){var b=a.formSubject.validate();if(!b){return;}var e=[];a.formSubject.applyChanges($.extend(e,a.data.vehicleData),b);var g=$.map(a.listAddressBook.getCheckedEntryKeys(),function(h){return a.data.addressBook[h];});if(a.inputNewEmail.val().trim().length>0){var f=a.inputNewEmail.val().trim();var c=Tmatex.DataTypes.email.validate(f);if(c){alert(c);return;}g.push(f);}if(g.length===0){alert(Autoniq.Message.errorEmailNoRecipients);return;}var d=$.map(a.listAvailableFeatures.getCheckedEntryKeys(),function(h){return a.data.availableFeatures[h][0];});if(d.length===0&&!confirm(Autoniq.Message.warningEmailNoFeatures)){return;}a.ajax("ev",{type:"POST",data:{send:true,to:g,cc:Tmatex.CheckBox.isChecked(a.checkBoxCopyTo),includes:d,vehicleId:a.data.vehicleId,vehicleData:e},success:function(){a.formSubject.applyChanges(a.data.vehicleData,b);alert(Autoniq.Message.confirmEmailSent);}});}});},getStorageAddressBookKey:function(a){return this.data.addressBook[a];},getStorageFeatureKey:function(a){return this.data.availableFeatures[a][0];},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);if(!b){return true;}this.ajax("ev",{data:{vehicleId:c.data.vehicleData?undefined:c.data.vehicleId},success:function(e){$.extend(c.data,e);if(!!e.senderEmail){var d=Autoniq.LocalStorage.restore("email.copyTo");Tmatex.CheckBox.setChecked(c.checkBoxCopyTo,d==undefined?true:d);c.listAddressBook.populate(c.data.addressBook,Autoniq.LocalStorage.restore("email.selectedAddressBookEntries"),undefined,undefined,c.getStorageAddressBookKey.bind(c));if(c.data.vehicleData&&c.data.vehicleData[5]==-1){c.data.vehicleData[5]=undefined;}c.formSubject.populate(c.data.vehicleData);c.listAvailableFeatures.populate(c.data.availableFeatures,Autoniq.LocalStorage.restore("email.selectedAvailableFeatures"),undefined,undefined,c.getStorageFeatureKey.bind(c));a();}else{alert(Autoniq.Message.errorEmailNotOnFile);}}});},onHide:function(){Autoniq.LocalStorage.save("email.copyTo",Tmatex.CheckBox.isChecked(this.checkBoxCopyTo));Autoniq.LocalStorage.save("email.selectedAddressBookEntries",this.listAddressBook.getCheckedEntryKeys(this.getStorageAddressBookKey.bind(this)));Autoniq.LocalStorage.save("email.selectedAvailableFeatures",this.listAvailableFeatures.getCheckedEntryKeys(this.getStorageFeatureKey.bind(this)));}});Autoniq.VhrPage=Autoniq.Page.subClass({onCreate:function(b){this._super.apply(this,arguments);this.priceEvalButton=new Tmatex.Button(this.markup.find("button.button.priceEval"),{onClick:function(){Tmatex.PM.showPage("perPage",{vehicleId:b.data.vehicleId,vin:b.data.report.vin,hideVHR:true});}}).setVisible(false);if(Browser.isIOS()&&Browser.version()>=5){var a=$('<div class="toolbar bottom"/>');a.append(new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"buttonBack"}).markup);this.markup.append(a);}},createReport:function(){this.markup.find("div.vehicle").html(this.data.report.year+" "+this.data.report.name);this.markup.find("div.vinNumber").html(Autoniq.DataTypes.vin.html(this.data.report.vin));},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);if(this.data.report){this.createReport(this);return true;}this.ajax("vh",{type:"POST",timeout:45*1000,data:c.data,success:function(d){c.data.report=d;c.createReport(c);a();}});},onShow:function(){var a=Tmatex.PM.findPrevPage().id;this.priceEvalButton.setVisible(a!=="perPage"&&a!=="pertPage");this.homeButton.setVisible(a!=="pertPage");}});Autoniq.vhrCarfaxPage=Autoniq.VhrPage.subClass({createReport:function(b){this._super.apply(this,arguments);var a=function(c,e,d){new Tmatex.List(b.markup.find(c),{entryTemplate:d,clickHandler:function(){}}).populate(e,undefined,undefined,false);};a("> div.header table.list",this.data.report.header,Autoniq.ListEntryTemplate.vhrTwoColumnEntry);a("> div.titleHistory table.list",this.data.report.titleHistory,Autoniq.ListEntryTemplate.vhrTwoColumnEntry);a("> div.additionalHistory table.list",this.data.report.additionalHistory,Autoniq.ListEntryTemplate.vhrTwoColumnEntry);a("> div.detailedHistory table.list",this.data.report.detailedHistory,function(h,g,j,f){var d=f[0];var c=f[1];var e=f[2];var i=f[3];g.push(c?["td",["p",d],["b",Autoniq.DataTypes.mileage.text(c)+" mi"]]:["td",d],["td",e],["td",{"class":"last"},i]);});}});Autoniq.vhrAutoCheckPage=Autoniq.VhrPage.subClass({createReport:function(d){this._super.apply(this,arguments);var b=this.markup.children("div.score");b.find("> .scoreIndicator > .score").html(this.data.report.score);b.find("> .scoreIndicator > .scoreRange").html(this.data.report.scoreRange);var f=!!this.data.report.score&&!!this.data.report.scoreRange;var e=b.prop("display")!=="none";if(f!=e){b.toggle(f);}var a=function(g,i,h){new Tmatex.List(d.markup.find(g),{entryTemplate:h,clickHandler:function(){}}).populate(i,undefined,undefined,false);};var c=function(i,h,j,g){if(typeof(g[1])==="number"){h.push(["td",{"class":"icon state{0}".format(g[1])},"\u00A0"],["td",{"class":"text state{0} last".format(g[1])},g[0]]);}else{h.push(["td",{"class":"icon centered"},g[1]],["td",{"class":"last"},g[0]]);}};a("> div.header table.list",this.data.report.header,c);a("> div.titleProblemCheck table.list",this.data.report.titleHistory,c);a("> div.odometerCheck table.list",this.data.report.odometerHistory,function(i,h,j,g){h[1]["class"]="state"+g[2];h.push(["td",{"class":"icon"}],["td",g[0]],["td",{"class":"last"},g[1]]);});a("> div.useEventCheck table.list",this.data.report.useAndEventsHistory,c);a("> div.fullHistory table.list",this.data.report.fullHistory,function(m,o,h,p){var i=p[0];var j=p[1];var g=p[2];var l=p[3];var n=p[4];o.push(j?["td",["p",i],["b",Autoniq.DataTypes.mileage.text(j)+" mi"]]:["td",i],["td",g],["td",{"class":n?"last alert":"last"},l]);});}});Autoniq.maPage=Autoniq.Page.subClass({onCreate:function(a){this._super.apply(this,arguments);this.list=new Tmatex.List(a.markup.find("ul.list"),{entrySelectHandler:function(c,b){if(b==="signOut"){if(confirm(Autoniq.Message.promptSignOut)){Tmatex.PM.showPage("loginPage",undefined,1);}}else{Tmatex.PM.showPage(b,{userSettings:a.data.userSettings});}}});},onLoad:function(){var a={maSettingsPage:"Settings",maPaymentInfoPage:"Payment Information",maDetailsPage:"Account Details",signOut:"Sign Out ..."};if(this.getAccountSettings()["demo"]){delete a.maPaymentInfoPage;}this.list.populate(a);return true;},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);if(this.data.userSettings){return true;}this.ajax("ma",{success:function(d){c.data.userSettings=d;if(d){a();}}});}});Autoniq.maSettingsPage=Autoniq.Page.subClass({canceled:false,createToolbarButtons:function(){this._super.apply(this,[false,true]);},onCreate:function(a){this._super.apply(this,arguments);new Tmatex.ToolbarButton("Cancel",{onClick:function(){a.canceled=true;Tmatex.PM.back();},css:"lcElement"}).markup.prependTo(this.markup.children(".toolbar:first"));this.form=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.form.carfaxAgree=this.markup.find(".carfaxAgree:first").click(function(){var b=Tmatex.CheckBox.isChecked(a.form.carfaxAgree);if(!b){a.markup.find(".carfaxBlock input").val("").removeClass("error");Tmatex.CheckBox.setChecked(a.markup.find(".carfaxBlock .checkbox"),false);}a.markup.find(".carfaxBlock input, .carfaxBlock .autoPurchase").toggleEnable(b);});this.form.autoCheckAgree=this.markup.find(".autoCheckAgree:first").click(function(){var b=Tmatex.CheckBox.isChecked(a.form.autoCheckAgree);if(!b){a.markup.find(".autoCheckBlock input").val("").removeClass("error");Tmatex.CheckBox.setChecked(a.markup.find(".autoCheckBlock .checkbox"),false);}a.markup.find(".autoCheckBlock input, .autoCheckBlock .autoPurchase").toggleEnable(b);});},onShow:function(){this.canceled=false;this.data.userSettings.deviceTypeDomain=[["Auto Detect",undefined],["Apple iPhone/iPad","iPhone OS 4_3_4"],["Android Phone/Tablet","Android 2.2.1"]];this.data.userSettings.deviceType=Browser._forcedUserAgent;this.form.populate(this.data.userSettings);var b=!!(this.data.userSettings.carfaxId&&this.data.userSettings.carfaxPasswd);Tmatex.CheckBox.setChecked(this.form.carfaxAgree,b);this.markup.find(".carfaxBlock input, .carfaxBlock .autoPurchase").toggleEnable(b);var c=this.data.userSettings.userType==="CARFAX_DEMO";this.markup.find(".autoCheckBlock:first").toggle(!c);if(!c){var a=!!(this.data.userSettings.autoCheckId&&this.data.userSettings.autoCheckPasswd);Tmatex.CheckBox.setChecked(this.form.autoCheckAgree,a);this.markup.find(".autoCheckBlock input, .autoCheckBlock .autoPurchase").toggleEnable(a);}},onBeforeHide:function(c,a){if(this.canceled||!this.form.isDirty(this.data.userSettings)){return true;}var b=this.form.validate();if(b){this.ajax("ma",{type:"POST",data:$.extend({set:true},b),success:function(){Autoniq.LocalStorage.save("deviceType",b.deviceType);Browser.setDeviceType(b.deviceType);c.form.applyChanges(c.data.userSettings,b);a();},error:c.form.serverErrorsHandler});}}});Autoniq.maPaymentInfoPage=Autoniq.Page.subClass({canceled:false,createToolbarButtons:function(){this._super.apply(this,[false,true]);},onCreate:function(a){this._super.apply(this,arguments);this.cancelButton=new Tmatex.ToolbarButton("Cancel",{onClick:function(){a.canceled=true;Tmatex.PM.back();},css:"lcElement"}).setVisible(false);this.markup.children(".toolbar:first").prepend(this.cancelButton.markup);this.form=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.markup.find(".cc a:first").click(function(){a.toggleEditMode(!a.isEditMode());});},onShow:function(){this.canceled=false;this.form.populate($.extend(this.data.userSettings,{ccStateDomain:Autoniq.CCStateUSA,ccProviderDomain:Autoniq.CCProviderDomain,ccExpiresMonthDomain:Autoniq.CCExpiresMonthDomain,ccExpiresYearDomain:Autoniq.CCExpiresYearDomain}));this.toggleEditMode(!this.data.userSettings.ccNumber);},onBeforeHide:function(c,a){if(!this.isEditMode()||this.canceled||!this.form.isDirty(this.data.userSettings)){return true;}var b=this.form.validate();if(b){this.ajax("ma",{type:"POST",data:$.extend({cc:true},b),success:function(e,d){c.form.applyChanges(c.data.userSettings,b);if(d){alert(d);}a();},error:c.form.serverErrorsHandler});}},isEditMode:function(){return $(".cc tr:eq(0):first").is(":hidden");},toggleEditMode:function(a){this.markup.find(".cc tr").toggle(a);this.markup.find(".cc tr:eq(0), .cc tr:eq(1)").toggle(!a);this.cancelButton.setVisible(a);}});Autoniq.maDetailsPage=Autoniq.Page.subClass({onShow:function(){new Tmatex.Form(this.markup,Autoniq.DataTypes).populate(this.data.userSettings);var a=this.data.userSettings.subFeatures.length>0;this.markup.find(".subscriptionBlock:first").toggle(a);if(a){new Tmatex.List(this.markup.find("table.list:last"),{entryTemplate:function(d,c,e,b){c.push(["th",b[0]],["td",{"class":"field"},b[1]?"Yes":"No"]);},clickHandler:function(){}}).populate(this.data.userSettings.subFeatures,undefined,undefined,false);}}});Autoniq.pePage=Autoniq.Page.subClass({createToolbarButtons:function(){this._super.apply(this,[true,false]);},onBack:function(){if(this.tree.path.length){this.tree.back();}else{this._super.apply(this,arguments);}},onCreate:function(a){this._super.apply(this,arguments);(this.backButton=new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"rcElement buttonBack"})).markup.prependTo(this.markup.children(".toolbar"));this.vinPanel=this.markup.find(".panel.vin");this.scanButton=new Tmatex.Button(this.vinPanel.find("td.scan button"),{onClick:function(){a.openVinScannerToPER();}});this.keybdButton=new Tmatex.Button(this.vinPanel.find("td.keybd button"),{onClick:function(){a.openVinScannerKeyboardToPER();}});this.goButton=new Tmatex.Button(this.vinPanel.find("td.go button"),{onClick:function(){var c=a.vinInput.val();var b=Autoniq.DataTypes.vin.validate2(c,true);if(b!=null){Tmatex.PM.showPage("perPage",{vin:b});}else{alert(Autoniq.Message.vinNotValid(c));}}}).setEnabled(false);this.vinInput=this.vinPanel.find("td.vin input").keyup(function(c){var b=Autoniq.DataTypes.vin.validate2(a.vinInput.val(),true);a.vinInput.removeClass("valid validShort");if(b!=null){a.vinInput.addClass(b.length===17?"valid":"validShort");if(b!=a.vinInput.val()){a.vinInput.val(b);}}a.goButton.setEnabled(b!=null);if(c.keyCode===13){if(b!=null){Tmatex.PM.showPage("perPage",{vin:b});}return false;}});if(Browser.isPlaceHolderSupported()){this.vinInput.attr("placeholder",Autoniq.Message.tooltipVinInput);}this.resetInput();this.tree=new Autoniq.Tree.VehicleTree({list:this.markup.find(".list:first"),breadCrumb:this.markup.find(".panel.breadCrumb"),leafSelectHandler:function(c,b,d){Tmatex.PM.showPage("perPage",{vid:c.join("|"),vidProvider:d});},updateHandler:function(c){var b=!c.length;a.vinPanel.toggle(b);}});},resetInput:function(){var a=Browser.isMobile();this.vinPanel.find("td.label").display(!a);this.scanButton.markup.parent().display(a);this.keybdButton.markup.parent().display(a);this.goButton.markup.parent().display(!a);},onLoad:function(b,a){this.loadProviderTree(function(c){b.tree.setTree(c);a();});},onUnLoad:function(){this.tree.setTree(undefined);this._super.apply(this,arguments);},onBeforeShow:function(){this.vinInput.val("");this.vinInput.removeClass("valid validShort");this.resetInput();this.goButton.setEnabled(false);return true;},onShow:function(){var a=this;if(Browser.isMobile()){this.vinInput.bind({focus:function(b){Tmatex.fixBuggyInputPlaceHolder(b.target);a.keybdButton.markup.parent().display(false);a.goButton.markup.parent().display(true);},blur:function(){var d=a.vinInput.val();var b=d.trim().length===0;a.keybdButton.markup.parent().display(b);a.goButton.markup.parent().display(!b);var c=Autoniq.DataTypes.vin.validate2(d,true);if(c){Tmatex.PM.showPage("perPage",{vin:c});}}});}},onHide:function(){this.vinInput.unbind("focus");this.vinInput.unbind("blur");}});Autoniq.perPage=Autoniq.Page.subClass({guidePanels:{},initializedGuidePanels:[],createToolbarButtons:function(){this._super.apply(this,[true,false]);},onBack:function(){if(this.data.fromScanner){this.openVinScannerToPER();}this._super.apply(this,arguments);},onCreate:function(a){this._super.apply(this,arguments);(this.backButton=new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"buttonBack"})).markup.prependTo(this.markup.children("div.toolbar"));this.panelHeader=new Autoniq.PanelHeader(this,$("#perHeader").appendTo(this.markup));this.panelCarfax=new Autoniq.PanelVHRSummary(this,$("#perCarfax").appendTo(this.markup),"cf",Autoniq.ListEntryTemplate.vhrTwoColumnEntry);this.panelAutoCheck=new Autoniq.PanelVHRSummary(this,$("#perAutoCheck").appendTo(this.markup),"ac",Autoniq.ListEntryTemplate.vhrTwoColumnEntry);this.guidePanels={BBK:new Autoniq.PanelBBK(this,$("#pgBBK").appendTo(this.markup)),KBB:new Autoniq.PanelKBB(this,$("#pgKBB").appendTo(this.markup)),NADA:new Autoniq.PanelNADA(this,$("#pgNADA").appendTo(this.markup)),GALVES:new Autoniq.PanelGALVES(this,$("#pgGALVES").appendTo(this.markup)),ANET:new Autoniq.PanelANET(this,$("#pgANET").appendTo(this.markup))};},triggerEvaluated:function(){var b=this.panelHeader;var a=b.data;this.trigger(this.EVENT_EVALUATED,{add:[a.vehicleId,a.timeStamp,undefined,a.vehicleName,a.vin,b.getMileage(),b.getColor(),b.getNotes(),b.getLane(),b.getRun(),undefined,undefined,a.geoLoc]});},onBeforeShow:function(c,b,a){this._super.apply(this,arguments);if(!b){return true;}this.ajax("per",{data:c.data,success:function(i){c.data.vehicleId=i.header.vehicleId;c.data.vin=i.header.vin;c.panelHeader.setup(i.header);var e=i.header.menuStyle.toLowerCase();var g=c.markup.children(".panel.pg");g.filter("."+e).insertAfter(g.first().prev());c.panelHeader.populate();var d=Autoniq.LocalStorage.restore("per.optionsVisible");c.initializedGuidePanels=[];$.each(c.guidePanels,function(r,o){try{var n=i.guides[r];if(r==="ANET"){var m=i.header["pe"+r+"SortIdx"]||3;o.setup(n,m);}else{var p=i.header.vopt?i.header.vopt[r]:undefined;var l=i.header["pe"+r+"ModeIdx"]||0;o.setup(n,p,l,!!d);}o.setNotes(i.guideNotes[r]);if(n){c.initializedGuidePanels.push(o);}}catch(q){console.error("Panel ({0}) initialization failed: {1}".format(r,q));}});$.each(c.initializedGuidePanels,function(m,l){try{l.populate();}catch(n){console.error("Panel ({0}) initial populate failed: {1}".format(l.markup[0].className,n));}});var j=!!c.data.fromScanner;c.backButton.setCaption(j?"Scan":"Back");c.backButton.markup.toggleClass("orange",j);var h=!c.data.hideVHR&&Autoniq.DataTypes.vin.validate2(c.data.vin);var f=c.getAccountSettings();c.panelCarfax.setup({},h&&f.carfaxAccessible,f.carfaxAutoPurchase);if(h&&f.carfaxAccessible&&f.carfaxAutoPurchase){c.panelCarfax.populate();}c.panelAutoCheck.setup({},h&&f.autoCheckAccessible,f.autoCheckAutoPurchase);if(h&&f.autoCheckAccessible&&f.autoCheckAutoPurchase){c.panelAutoCheck.populate();}c.triggerEvaluated();a();}});},onBeforeHide:function(){this.ajaxFlush("save");return true;},saveStateRemotely:function(){var a=this;this.ajax("per",{type:"POST",queue:"save",delay:1000,data:function(){a.triggerEvaluated();var b={};$.each(a.guidePanels,(function(e,c){var d=c.getState();if(d){b[e]=d;}}).bind(a));if(Tmatex.countProperties(b)==0){b=undefined;}return{save:true,vehicleId:a.data.vehicleId,vopt:b,mileage:a.panelHeader.getMileage(),color:a.panelHeader.getColor(),notes:a.panelHeader.getNotes(),lane:a.panelHeader.getLane(),run:a.panelHeader.getRun(),purchased:a.panelHeader.purchasedHeaderButton.isOn(),markedA:a.panelHeader.markedAHeaderButton.isOn(),markedB:a.panelHeader.markedBHeaderButton.isOn(),markedC:a.panelHeader.markedCHeaderButton.isOn()};},suppressError:true,blockUI:false});}});Autoniq.PerPanel=Tmatex.UIContainer.subClass({init:function(b,a){this._super.apply(this,[a]);this.mainPage=b;var c=this;this.mainPage.markup.bind("regionChanged",function(e,d){c.onRegionChanged();});this.mainPage.markup.bind("trimChanged",function(e,d){c.onTrimChanged(d.trimId);});this.mainPage.markup.bind("mileageChanged",function(e,d){c.onMileageChanged(d.mileage);});this.mainPage.markup.bind("optionsVisibilityChanged",function(e,d){c.onOptionsVisibilityChanged(d.visible);});},setup:function(a){this.data=a;this.display(a!==undefined);},setNotes:function(a){this.notes.html(a||"");},fireRegionChanged:function(){this.mainPage.markup.trigger("regionChanged");},onRegionChanged:function(){},fireTrimChanged:function(a){this.mainPage.markup.trigger("trimChanged",{trimId:a});},onTrimChanged:function(a){this.mainPage.saveStateRemotely();},fireMileageChanged:function(a){this.mainPage.markup.trigger("mileageChanged",{mileage:a});},onMileageChanged:function(a){this.mainPage.saveStateRemotely();},fireOptionsVisibilityChanged:function(a){this.mainPage.markup.trigger("optionsVisibilityChanged",{visible:a});Autoniq.LocalStorage.save("per.optionsVisible",a);},onOptionsVisibilityChanged:function(a){},getMileage:function(){return this.mainPage.panelHeader.getMileage();},isRegionSelected:function(){return this.mainPage.panelHeader.isRegionSelected();},getVin:function(){return this.mainPage.panelHeader.getVin();},isVinValid:function(){return !!Autoniq.DataTypes.vin.validate2(this.getVin());},formatDollar:function(a,b){return a==undefined||b?"N/A":Autoniq.DataTypes.money.html(a,false);},getState:function(){}});Autoniq.PanelAbstractHeader=Autoniq.PerPanel.subClass({init:function(){this._super.apply(this,arguments);this.vinField=this.markup.find('tr.vin span[data-type="vin:vin"]');this.invalidVinText=this.markup.find("tr.vin span.invalid").display(false);},populate:function(){this.invalidVinText.display(!!this.getVin()&&!this.isVinValid());},setVinRoots:function(d){if(!this.data.vin){function c(e){for(var g=0;g<e.length-1;g++){var h=new RegExp(e[g]);for(var f=g+1;f<e.length;f++){if(h.test(e[f])){e.splice(f,1);f--;}}}return e;}d.sort();var b=c(d);while(b.length>6){for(var a=0;a<b.length;a++){b[a]=b[a].substring(0,b[a].length-1);}b=c(b);}for(a=0;a<b.length;a++){b[a]=b[a].replace(/\.+$/,"");}this.vinField.html("<em>"+(b.length>0?b.join(", ").replace(/\./g,"*"):"N/A")+"</em>");}},onRegionChanged:function(){this.data.regionSelected=!this.data.regionSelected;},isRegionSelected:function(){return this.data.regionSelected;}});Autoniq.PanelGuide=Autoniq.PerPanel.subClass({selectedTrimId:undefined,selectedModeIdx:0,init:function(b,a){this._super.apply(this,arguments);var c=this;this.releaseDate=this.markup.find("> div.title > div.releaseDate");this.notes=this.markup.find("> div.title > div.notes");this.regionButton=new Tmatex.Button($("<div class='linkButton'>"),{onClick:function(){c.fireRegionChanged();}});this.regionButton.setup=function(f,e){this.regionName=f;this.noRegionName="National";this.setCaption(e?this.regionName:this.noRegionName);};this.vehicleName=this.markup.children(".vehicleName:first");this.vehicleTrim=this.markup.children(".vehicleTrim:first").display(false);this.vehicleTrim.selector=this.markup.find("> .vehicleTrim > select");this.vehicleTrim.selector.change(function(){var e=c.vehicleTrim.selector.val();c.fireTrimChanged(e);});this.dataBlock=this.markup.children("div.dataBlock").display(false);this.noData=this.markup.children("div.noData").display(false);this.dataTable=this.dataBlock.find("table.data");this.modeButton=new Tmatex.Button($("<div class='linkButton'>"),{onClick:function(e){c.cycleMode();e.setCaption(c.getSelectedMode().name);}});this.mileageSelector=$("<select>").change(function(){var e=parseInt(c.mileageSelector.val(),10);c.fireMileageChanged(e>=0?e:undefined);});this.dataTable.find("tr.mileage :first-child").append(this.mileageSelector);this.vehicleOptionsBlock=this.dataBlock.find("div.vehicleOptionsBlock").display(false);this.vehicleOptions=this.vehicleOptionsBlock.children(".vehicleOptions");var d=this.vehicleOptions.children("ul.list");if(d[0]){this.optionsList=new Tmatex.List(d,{entryTemplate:c.optionEntryTemplate,checkLeftMarginThreshold:-1,checkHandler:function(i,g,e){var f=c.getSelectedOptions();var h=c.optionsList.getCheckedEntryKeysSet();$.each(c.optionsList.getAllEntryKeys(),function(l,j){if(h[j]===undefined){delete f[j];}});if(e){f[g]=1;}else{delete f[g];}c.optionCheckHandler(f,g,e);c.optionsList.setCheckedEntryKeys(f);c.populate(true);c.mainPage.saveStateRemotely();return false;}});this.optionsList.ownerPanel=this;}this.markup.find(".vehicleOptionsToggle.linkButton").click(function(g){var f=$(g.target),h=f.offset(),e=$(window).scrollTop();c.fireOptionsVisibilityChanged(!c.vehicleOptions.is(":visible"));if(h){$(window).scrollTop(e+f.offset().top-h.top);}});},setup:function(h,f,b,a){this._super.apply(this,[h]);this.selectedTrimId=undefined;this.savedOptions=f;var e=$.isArray(h)&&h.length>=3;if(e){this.regionButton.setup(h[0].regionName,this.isRegionSelected());this.setVehicleName(this.data[1]);this.selectedModeIdx=b;this.onOptionsVisibilityChanged(a);var g=h.length>3;if(g){var d=[];for(var c=2;c<h.length;c++){d.push([h[c].seriesBodyStyle,h[c].id]);if(h[c].selected){this.selectedTrimId=h[c].id;}}if(this.savedOptions&&this.savedOptions.bodyStyle){for(c=2;c<h.length;c++){if(h[c].seriesBodyStyle==this.savedOptions.bodyStyle){this.selectedTrimId=h[c].id;break;}}if(!this.matchSelectedTrim(this.selectedTrimId)){delete this.savedOptions;}}if(this.selectedTrimId==undefined){d.splice(0,0,["Select...","-"]);}new Tmatex.DropDown(this.vehicleTrim.selector).populate(d);if(this.selectedTrimId!=undefined){this.vehicleTrim.selector.val(this.selectedTrimId);}}else{this.selectedTrimId=h[2].id;}this.vehicleTrim.display(g);}this.noData.display(!e);if(!e){this.setVehicleName(null);this.vehicleTrim.display(false);this.dataBlock.display(false);}},populate:function(){this.trimData=this.getSelectedTrimData();var a=!!this.trimData;this.dataBlock.display(a);this.markup.children(".title").find(".region").display(a);if(a){if(!this.mainPage.trackProcessedPanels){this.mainPage.trackProcessedPanels=this.mainPage.initializedGuidePanels.slice(0);this.mainPage.aggregatedVinRoots=[];}$.each(this.trimData.vins,(function(b,c){if(c){this.mainPage.aggregatedVinRoots.push(c.replace(/_/g,"."));}}).bind(this));this.mainPage.trackProcessedPanels=$.grep(this.mainPage.trackProcessedPanels,(function(b){return this!==b;}).bind(this));if(this.mainPage.trackProcessedPanels.length===0){this.mainPage.panelHeader.setVinRoots(this.mainPage.aggregatedVinRoots);delete this.mainPage.trackProcessedPanels;delete this.mainPage.aggregatedVinRoots;}}return a;},cycleMode:function(){this.selectedModeIdx=(this.selectedModeIdx+1)%this.modes.length;this.populate();},getSelectedMode:function(){return this.modes[this.selectedModeIdx];},getSearchTemplate:function(){if(this.trimData&&this.trimData.search){return this.trimData.search;}return null;},onTrimChanged:function(a){if(a!=this.selectedTrimId&&this.matchSelectedTrim(a)){this.populate();}this._super.apply(this,arguments);},onRegionChanged:function(){var a=this.regionButton;a.setCaption(this.isRegionSelected()?a.regionName:a.noRegionName);},optionCheckHandler:function(c,a,b){},onOptionsVisibilityChanged:function(a){this.vehicleOptions.display(a);this.vehicleOptionsBlock.children(".vehicleOptionsHeader").toggleClass("expanded",a).find(".vehicleOptionsToggle.linkButton").html(a?"Hide":"Show");},buildMileageControl:function(a){var f=[["Mileage",-1]];var b=[];for(var d=0;d<a.length;d++){var c=a[d][1];var e=d<a.length-1?a[d+1][1]-1:Number.MAX_VALUE;b.push(c,e);f.push([a[d][0]+"+",c]);}this.data.mileageRanges=b;new Tmatex.DropDown(this.mileageSelector).populate(f);this.setMileageControl(this.getMileage());},setMileageControl:function(b){if(!this.trimData){return;}var a=this.data.mileageRanges;if(!a){return;}if(b==undefined||b==-1){this.mileageSelector.val(-1);}else{for(var c=1;c<a.length;c+=2){if(b<=a[c]){this.mileageSelector.val(a[c-1]);return;}}this.mileageSelector.val(a[a.length-2]);}},getMileageDomainIdx:function(a){var e=-1;var c=this.getMileage();if(c!=-1){for(var d=0;d<a.length;d++){var b=a[d][1];var f=d<a.length-1?a[d+1][1]-1:Number.MAX_VALUE;if(b<=c&&c<=f){e=d;}}}if(c!=-1&&e==-1){e=a.length-1;}return e;},onMileageChanged:function(a){if(!this.data){return;}this.setMileageControl(a);this.populate(true);this._super.apply(this,arguments);},setVehicleName:function(a){this.vehicleName.html(a);},matchSelectedTrim:function(c){for(var b=2;this.data&&b<this.data.length;b++){for(var a in this.data[b].aliases){if(this.data[b].aliases[a]==c){this.selectedTrimId=this.data[b].id;this.vehicleTrim.selector.val(this.data[b].id);this.vehicleTrim.selector.children("[value='-']").remove();return true;}}}return false;},getSelectedTrimData:function(){if(this.data){for(var a=2;a<this.data.length;a++){if(this.data[a].id==this.selectedTrimId){return this.data[a];}}}return undefined;},getOptionsNamesFromKeys:function(a){var b=this.trimData.options;return $.map(a,function(d,c){return b[c].name;});},getOptionsKeysFromNames:function(c){var e=this.trimData.options,a={},b={};for(var d in c){a[c[d]]=1;}for(d in e){if(a[e[d].name]!==undefined){b[d]=1;}}return b;},setSelectedOptions:function(b,a){this.trimData.selectedOptions=b;this.optionsList.populate(a||this.trimData.options,b);this.vehicleOptionsBlock.display(this.optionsList.getAllEntryKeys().length>0);},getSelectedOptions:function(){return this.trimData?this.trimData.selectedOptions:undefined;},getState:function(){if(!this.data||!this.selectedTrimId){return undefined;}var a={};if(this.data.length>3){for(var b in this.data){if(this.data[b].id==this.selectedTrimId){a.bodyStyle=this.data[b].seriesBodyStyle;break;}}}var c=this.getOptionsNamesFromKeys(this.getSelectedOptions());if(c.length>0){a.options=c;}return Tmatex.countProperties(a)>0?a:undefined;},getStateCheckedOptions:function(){var a=this.savedOptions?this.savedOptions.options:undefined;delete this.savedOptions;return $.isArray(a)?this.getOptionsKeysFromNames(a):undefined;}});Autoniq.pertPage=Autoniq.Page.subClass({initializedGuidePanels:[],onBeforeShow:function(c,b){this._super.apply(this,arguments);if(!b){return true;}if(Tmatex.countProperties(this.data)>0){this.panelHeader=new Autoniq.PanelTicketHeader(this,$("#pertHeader"));this.panelHeader.setup(this.data.header);if(this.data.vhr.cf){this.panelCarfax=new Autoniq.PanelVHRSummary(this,$("#pertCarfax"),"cf",Autoniq.ListEntryTemplate.vhrTwoColumnEntry);this.panelCarfax.setup(this.data.vhr.cf,true);this.panelCarfax.populate();}if(this.data.vhr.ac){this.panelAutoCheck=new Autoniq.PanelVHRSummary(this,$("#pertAutoCheck"),"ac",Autoniq.ListEntryTemplate.vhrTwoColumnEntry);this.panelAutoCheck.setup(this.data.vhr.ac,true);this.panelAutoCheck.populate();}var a=Autoniq.LocalStorage.restore("per.optionsVisible");var d=this.markup.children("div.pertDisclaimer");$.each(["BBK","KBB","NADA","GALVES","ANET"],function(j,n){var i=c.data.guides[n];if(i!==undefined){try{var h=new Autoniq["Panel"+n](c,$("#pg"+n).insertBefore(d));var l=c.data.header.vopt?c.data.header.vopt[n]:undefined;if(n==="ANET"){var g=c.data.header["pe"+n+"SortIdx"]||3;h.setup(i,3,true);}else{var f=c.data.header["pe"+n+"ModeIdx"]||0;h.setup(i,l,f,!!a);}if(i){c.initializedGuidePanels.push(h);}}catch(m){console.error("Panel {0} initialization failed: {1}".format(n,m));}}});$.each(c.initializedGuidePanels,function(g,f){try{f.populate();}catch(h){console.error("Panel ({0}) initial populate failed: {1}".format(f.markup[0].className,h));}});this.markup.find("div.toolbar > div.info").html("Provided by: "+this.data.providedBy);}else{this.markup.children("div.panel.expired").show();this.markup.children("div.pertDisclaimer").hide();this.markup.children("div.toolbar:last").hide();}return true;},createToolbarButtons:function(){},saveStateRemotely:function(){}});Autoniq.PanelTicketHeader=Autoniq.PanelAbstractHeader.subClass({init:function(){this._super.apply(this,arguments);this.form=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.mileageDisplay=this.markup.find("td.mileage");},setup:function(){this._super.apply(this,arguments);this.form.populate(this.data);this.invalidVinText.toggle(this.data.vin&&!Autoniq.DataTypes.vin.validate2(this.data.vin));this.markup.find("tr.notes").toggle(!!this.data.notes);this.markup.find(".color").toggle(!!this.data.color);this.markup.find("tr.laneAndRun").toggle(!!this.data.lane||!!this.data.run);},onMileageChanged:function(a){this.mileageDisplay.html(Autoniq.DataTypes.mileage.html(a));this.data.mileage=typeof(a)==="number"&&a>=0?a:-1;},getMileage:function(){return this.data.mileage;}});(function(){var b="__________";Autoniq.PanelHeader=Autoniq.PanelAbstractHeader.subClass({init:function(){this._super.apply(this,arguments);var d=this;this.form=new Tmatex.Form(this.markup,Autoniq.DataTypes);this.mileageDisplay=this.markup.find("td.mileage span").click(function(){d.setMileageControl(true);});this.mileageInput=this.markup.find("td.mileage input").bind({blur:function(){if(d.mileageInput.is(":visible")){var g=d.mileageInput.val();if(d.labelK.is(":visible")){g+="k";}var f=d.setMileageControl(false,g);d.fireMileageChanged(f);d.mainPage.saveStateRemotely();}},keyup:function(f){if(f.keyCode==27){d.setMileageControl(false,Autoniq.DataTypes.mileage.parse(d.mileageDisplay.html()));return true;}var h=d.mileageInput.val().trim().toLowerCase();d.labelK.display(h.length<=3&&!h.startsWith("0")&&h.indexOf("k")<0);if(f.keyCode!=13){return true;}if(d.labelK.is(":visible")){h+="K";}var g=d.setMileageControl(false,h);d.fireMileageChanged(g);d.mainPage.saveStateRemotely();}}).display(false);this.labelK=this.markup.find("td.mileage > em").display(false);$.each(["color","lane","run","notes"],function(f,g){d[g]=[d.markup.find("."+g+" span").click(function(){d.toggleFieldEdit(g,true);}),d.markup.find(".{0} input,.{0} textarea".format(g)).bind({blur:function(){d.toggleFieldEdit(g,false);d.mainPage.saveStateRemotely();},keyup:function(h){if(h.keyCode==27){var i=d[g][0].text().trim();d[g][1].val(i!==b?i:"");d.toggleFieldEdit(g,false);}else{if(h.keyCode==13){d.toggleFieldEdit(g,false);d.mainPage.saveStateRemotely();}}}}).display(false)];});var c=function(f){f.toggleOn();d.mainPage.saveStateRemotely();};var e=d.markup.find("div.stripToolbar");$.each(["markedA","markedB","markedC"],function(f,g){d[g+"HeaderButton"]=new a(e.children("."+g),{onClick:c}).setTitle("Place to My Vehicles Bucket");});this.searchHeaderButton=new a(e.children(".search"),{onClick:function(g){var f=$.map(d.mainPage.guidePanels,function(h){return h.getSearchTemplate();});if(!f.length){alert(Autoniq.Message.searchNoTrimSelected);}else{Tmatex.PM.showPage("schPage",{templates:f});}}}).setTitle("Find vehicles like this");this.purchasedHeaderButton=new a(e.children(".purchased"),{onClick:function(f){f.toggleOn();d.mainPage.saveStateRemotely();}}).setTitle("Purchased");this.wishlistedHeaderButton=new a(e.children(".wishlisted"),{onClick:function(f){d.ajax("wl",{type:"POST",blockUI:false,data:{pid:d.data.presaleId,wishlisted:d.data.wishlisted},success:function(g){d.data.wishlisted=!d.data.wishlisted;f.toggleOn(d.data.wishlisted);d.mainPage.trigger(d.mainPage.EVENT_WISHLIST,g);}});}}).setTitle("Present in my auction wish list");this.emailHeaderButton=new a(e.children(".email"),{onClick:function(f){Tmatex.PM.showPage("emailPage",{vehicleId:d.data.vehicleId});f.toggleOn(true);}});},populate:function(){this._super.apply(this,arguments);this.form.populate(this.data);this.setMileageControl(false,this.data.mileage);$.each(["color","lane","run","notes"],(function(c,d){this.toggleFieldEdit(d,false);}).bind(this));this.invalidVinText.display(this.data.vin&&!Autoniq.DataTypes.vin.validate2(this.data.vin));$.each(["markedA","markedB","markedC"],(function(c,d){this[d+"HeaderButton"].toggleOn(!!this.data[d]);}).bind(this));this.purchasedHeaderButton.toggleOn(!!this.data.purchased);this.wishlistedHeaderButton.toggleOn(!!this.data.wishlisted);this.wishlistedHeaderButton.toggle(!!this.data.presaleId);this.emailHeaderButton.toggleOn(!!this.data.emailed);if(this.data.emailed){this.emailHeaderButton.setTitle("Last emailed on {0}".format($.format.date(this.data.emailed,"MMM dd hh:mma")));}},onMileageChanged:function(c){this.data.mileage=typeof(c)==="number"&&c>=0?c:-1;this.setMileageControl(false,this.data.mileage);},setMileageControl:function(c,d){this.mileageDisplay.display(!c);this.mileageInput.display(c);if(c){this.mileageInput.focus();}if(d!=undefined){d=Autoniq.DataTypes.mileage.validate(d)?undefined:Autoniq.DataTypes.mileage.parse(d);}else{var e=this.mileageInput.val();d=Autoniq.DataTypes.mileage.validate(e)?undefined:Autoniq.DataTypes.mileage.parse(e);}this.labelK.display(c&&d==undefined);if(d!==undefined){d=Math.min(Math.max(1,d),999999);if(d>=1000&&d/1000-Math.floor(d/1000)<=0){d+=1;}}this.mileageInput.val(d==undefined?"":d<1000?("0"+d):d);this.mileageDisplay.html(d==undefined?b:Autoniq.DataTypes.mileage.html(d));return d;},toggleFieldEdit:function(g,d){var e=this[g][0];var c=this[g][1];e.display(!d);c.display(d);if(d){c.focus();}else{var f=c.val().trim();if(f.length==0){f=b;c.val("");}e.html(f);}},getVin:function(){return this.data.vin;},getMileage:function(){var c=this.data.mileage;return typeof(c)=="number"&&c>=0?c:-1;},getColor:function(){var c=this.color[1].val().trim();return c.length>0?c:undefined;},getNotes:function(){var c=this.notes[1].val().trim();return c.length>0?c:undefined;},getLane:function(){var c=this.lane[1].val().trim();return c.length>0?c:undefined;},getRun:function(){var c=this.run[1].val().trim();return c.length>0?c:undefined;}});var a=Tmatex.Button.subClass({toggle:function(c){this.markup.display(c);},toggleOn:function(c){this.markup.toggleClass("on",c!=undefined?c:!this.isOn());},isOn:function(){return this.markup.hasClass("on");}});})();Autoniq.PanelVHRSummary=Autoniq.PerPanel.subClass({init:function(b,a,g,c){this._super.apply(this,[b,a]);this.provider=g;var d=this;var f=this.markup.find("div.autoPurchase button");if(f[0]){this.autoPurchase=f;this.autoPurchase.click(function(){var i=g=="cf"?"CARFAX":"AUTOCHECK";var h="By clicking 'OK' I agree that the {0}\u00AE Vehicle History Reports I purchase through this ".format(i)+"application will run automatically and are governed by the {0}\u00AE {1}".format(i,(g=="cf"?"VHS ":""))+"Terms and Conditions and my contract with {0}\u00AE".format(i);if(!Tmatex.CheckBox.isChecked(d.autoPurchase)){if(!confirm(h)){return false;}Tmatex.CheckBox.setChecked(d.autoPurchase,true);d.populate();}else{Tmatex.CheckBox.setChecked(d.autoPurchase,false);delete d.data;d.list.removeAll();d.footNote.hide();d.ajax("per",{type:"POST",timeout:45*1000,suppressError:true,blockUI:false,data:{vhrSummary:true,vehicleId:d.mainPage.data.vehicleId,provider:d.provider,autoPurchase:false}});}var e={};e[g=="cf"?"carfaxAutoPurchase":"autoCheckAutoPurchase"]=Tmatex.CheckBox.isChecked(d.autoPurchase);d.mainPage.setAccountSettings(e);return true;});}this.showReportButton=new Tmatex.Button(this.markup.find("div.title button"),{onClick:function(){d.showVHRPage();}});this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:c,clickHandler:function(){}});this.footNote=this.markup.children(".footNote").hide();this.footNote.children("em").click(function(){d.showVHRPage();});},showVHRPage:function(){if(this.data&&this.data.body){Tmatex.PM.showPage(this.provider==="cf"?"vhrCarfaxPage":"vhrAutoCheckPage",{report:this.data.body});}else{if(Tmatex.CheckBox.isChecked(this.autoPurchase)||confirm(Autoniq.Message.promptRunVHR(this.provider==="cf"?"CARFAX":"AutoCheck"))){Tmatex.PM.showPage(this.provider==="cf"?"vhrCarfaxPage":"vhrAutoCheckPage",{vehicleId:this.mainPage.data.vehicleId,provider:this.provider,vin:this.getVin()});}}},setup:function(c,a,b){this.data=c;this.display(a);Tmatex.CheckBox.setChecked(this.autoPurchase,b===true);if(b!==true){this.list.removeAll();}},populate:function(){this.list.removeAll();this.footNote.display(false);if(this.data&&this.data.summary){this.list.populate(this.data.summary);this.footNote.display(true);}else{this.list.parent.append($("<tr><td class='loading'>Loading ...</td></tr>"));var a=this;this.ajax("per",{type:"POST",timeout:45*1000,suppressError:true,blockUI:false,data:{vhrSummary:true,vehicleId:a.mainPage.data.vehicleId,provider:a.provider,vin:a.getVin(),autoPurchase:(a.autoPurchase?Tmatex.CheckBox.isChecked(a.autoPurchase):undefined)},success:function(b){if(!Tmatex.CheckBox.isChecked(a.autoPurchase)){return;}if(b.error){a.list.removeAll();a.list.markup.append($("<tr>").append($("<td class='error'>").html(b.error)));}else{a.list.populate(b.summary);a.data=b;a.footNote.display(true);}},error:function(b,d,c){a.list.removeAll();a.list.markup.append($("<tr>").append($("<td class='error'>").html(c)));}});}}});Autoniq.PanelBBK=Autoniq.PanelGuide.subClass({modes:[{name:"WHLSLE",css:"green"},{name:"RETAIL",css:"red"},{name:"TRDE-IN",css:"blue"}],init:function(){this._super.apply(this,arguments);this.markup.find("> .title > .region").append(this.regionButton.markup);var a=this.dataTable.children().children("tr");a.eq(0).children("th").eq(0).append(this.modeButton.markup);a.slice(1).append("<td/><td/><td/><td/>");this.cBase=a.eq(1).children("td");this.cOptions=a.eq(2).children("td");this.cMileage=a.eq(3).children("td");this.cTotal=a.eq(4).children("td");this.footerIncludes=this.markup.find(".footer > .includes");this.footerIncludes.em=this.footerIncludes.children("em");this.footerLoan=this.markup.find(".footer > .loan");this.footerLoan.em=this.footerLoan.children("em");this.footerRetail=this.markup.find(".footer > .retail");this.footerRetail.msrp=this.footerRetail.children(".msrp");this.footerRetail.msrp.em=this.footerRetail.msrp.children("em");this.footerRetail.equipRetail=this.footerRetail.children(".equipRetail");this.footerRetail.equipRetail.em=this.footerRetail.equipRetail.children("em");},setup:function(){this._super.apply(this,arguments);if(!!this.data){this.releaseDate.html($.format.date(this.data[0].releaseDate,"MMM dd"));this.modeButton.setCaption(this.getSelectedMode().name);}},populate:function(j){if(!this._super.apply(this,arguments)){return;}if(!j){this.setSelectedOptions(this.getSelectedOptions()||this.getStateCheckedOptions()||{});this.buildMileageControl(this.trimData.mileageAdj);this.footerIncludes.display(!!this.trimData.priceIncludes);this.footerIncludes.em.html(this.trimData.priceIncludes);this.footerRetail.display(this.trimData.msrp!=undefined||this.trimData.equipRetail!=undefined);this.footerRetail.msrp.em.html(this.formatDollar(this.trimData.msrp));this.footerRetail.equipRetail.em.html(this.formatDollar(this.trimData.equipRetail));var g=$.map(this.modes,function(i){return i.css;}).join(" ");this.dataTable.find("thead th, .total td").removeClass(g).addClass(this.getSelectedMode().css);}var c=this.getMileageDomainIdx(this.trimData.mileageAdj);var h=c>=0?this.trimData.mileageAdj[c].slice(3,8):[0,0,0,0,0];var b=0;$.each(this.getSelectedOptions(),(function(i){var l=this.trimData.options[i].amount;if(l!=undefined){b+=l;}}).bind(this));var a=Math.max(0,this.trimData.loan+(this.isRegionSelected()?this.trimData.regionAdj:0));var f=a<=0||h[4]==undefined;this.footerLoan.em.html(this.formatDollar(Math.max(0,a+b+h[4]),f));this.footerRetail.display(this.getSelectedMode().name!="WHLSLE");for(var e=0;e<4;e++){a=Math.max(0,this.trimData.pricing[this.selectedModeIdx][e]+(this.isRegionSelected()?this.trimData.regionAdj:0));f=a<=0||h[e]==undefined;this.cBase.eq(e+1).html(this.formatDollar(a,f));this.cOptions.eq(e+1).html(this.formatDollar(b,f));this.cMileage.eq(e+1).html(this.formatDollar(h[e],f||c<0));var d=Math.max(0,a+b+h[e]);this.cTotal.eq(e+1).html(this.formatDollar(d,f));}},optionEntryTemplate:function(d,a,b,c){a.push(["span",{"class":"optionValue"},Autoniq.DataTypes.money.html(c.amount,false)],["button",{"class":"checkbox"}],["span",c.name]);},onRegionChanged:function(){this._super.apply(this,arguments);this.populate(true);}});Autoniq.PanelGALVES=Autoniq.PanelGuide.subClass({init:function(){this._super.apply(this,arguments);var a=this.dataTable.children().children("tr");a.slice(1).append("<td/><td/>");this.cBase=a.eq(1).children("td");this.cOptions=a.eq(2).children("td");this.cMileage=a.eq(3).children("td");this.cTotal=a.eq(4).children("td");this.modeButton.markup.remove();delete this.modeButton;this.footerIncludes=this.markup.find(".footer > .includes");this.footerBaseMileage=this.markup.find(".footer > .baseMileage");},setup:function(){this._super.apply(this,arguments);if(!!this.data){this.releaseDate.html($.format.date(this.data[0].releaseDate,"MMM dd"));this.markup.children(".title").find(".region").html(this.data[0].regionName);}},populate:function(j){if(!this._super.apply(this,arguments)){return;}if(!j){var f=this.getSelectedOptions()||this.getStateCheckedOptions();if(!f){f={};$.each(this.trimData.options,function(m,n){if(n.selected){f[m]=1;}});}this.setSelectedOptions(f);var g=$.map(f,function(m,i){return i;});$.each(g,(function(m,i){this.processDeps(f,i,true);}).bind(this));var c=[];for(var d=0;d<150;d+=5){c.push(["{0}K".format(d),d*1000]);}this.buildMileageControl(c);this.footerIncludes.display(this.trimData.std.length>0);this.footerIncludes.children("em").html(this.trimData.std.join(", "));this.footerBaseMileage.children("em").html(Autoniq.DataTypes.mileage.html(this.trimData.mBase*1000));}var l=0;$.each(this.getSelectedOptions(),(function(m){var i=this.trimData.options[m];if(i.count==0){l+=this.trimData.optionValues[m];}}).bind(this));var e=this.getMileage();var h=e==-1?0:this.getMileageAdj(e);for(d=0;d<2;d++){var a=this.trimData.values[d];this.cBase.eq(d+1).html(this.formatDollar(a));this.cOptions.eq(d+1).html(this.formatDollar(l));this.cMileage.eq(d+1).html(this.formatDollar(h,e==undefined));var b=0;if(a>0){b=a+l;if(h){b+=h;}b=Math.max(100,b);}this.cTotal.eq(d+1).html(this.formatDollar(b));}},getMileageAdj:function(b){var a=0;var c=Math.round(b/1000)-this.trimData.mBase;if(c>0){if(c>=this.trimData.mAbove.length){c=this.trimData.mAbove.length;}a=-this.trimData.mAbove[c-1];}else{if(c<0){if(c<=-this.trimData.mBelow.length){c=-this.trimData.mBelow.length;}a=this.trimData.mBelow[-c-1];}}if(a){a=Math.round(this.trimData.values[0]*a/100/100/25)*25;}return a;},optionEntryTemplate:function(d,a,e,b){var c=d.ownerPanel;b.count=0;a.push(["span",{"class":"optionValue"},c.formatDollar(c.trimData.optionValues[e])],["button",{"class":"checkbox"}],b.name);},optionCheckHandler:function(c,b,a){this.processDeps(c,b,a);},processDeps:function(c,d,b){var a=this.trimData.options[d];if(a.deps){$.each(a.deps,(function(e,f){if(b&&this.trimData.options[f].count++==0){this.optionsList.getEntry(f).display(false);}else{if(!b&&this.trimData.options[f].count--==1){this.optionsList.getEntry(f).display(true);}}}).bind(this));}}});(function(){var a=Object.subClass({init:function(b,d,c){this.name=b;this.dataPoints=d;this.css=c;},onPopulate:function(q,m){var t=m.dataTable.children().children("tr");if(!q){var h="";var j="";var b=Math.round(100/Tmatex.countProperties(this.dataPoints));$.each(this.dataPoints,function(u,i){h+="<th width='{0}%'>{1}</th>".format(b,u);j+="<td>";});for(var f=0;f<5;f++){var s=t.eq(f);s.children(f?"td":"th").slice(1).remove();s.append(f?j:h);}}var p=t.eq(1).children("td");var o=t.eq(2).children("td");var d=t.eq(3).children("td");var r=t.eq(4).children("td");if(!q){var l=$.map(m.modes,function(i){return i.css;}).join(" ");t.eq(0).children("th").removeClass(l).addClass(this.css);r.removeClass(l).addClass(this.css);}var g=m.getMileage();var n=g==-1?0:m.trimData.mileage[m.getMileageDomainIdx(m.trimData.mileage)][3];var e=m.getSelectedOptions();var c=1;$.each(this.dataPoints,function(x,z){var y=m.trimData.values[z];var B=y<=0||!!m.trimData.lowVolume&&z==4;var v=y;var A=0;$.each(m.trimData.options,function(i,E){var C=m.trimData.optionValues[z][i];var D=(e[i]!==undefined);if(E.standard){v+=C;if(!D){if(!E.conflict){return true;}var F=false;$.each(E.conflict,function(G,H){F|=(e[H]!==undefined);return !F;});if(!F){return true;}}A-=C;}else{if(D){A+=C;}}});var w=v+A+n-y;var u=-y*m.trimData.maxDeduction;w=Math.max(w,u);p.eq(c).html(m.formatDollar(v,B));o.eq(c).html(m.formatDollar(A,B));d.eq(c).html(m.formatDollar(n,B||g==undefined));r.eq(c).html(m.formatDollar(y+w));c++;});}});Autoniq.PanelKBB=Autoniq.PanelGuide.subClass({modes:[new a("AUCTION",{Excellent:0,"Very Good":1,Good:2,Fair:3},"green"),new a("RETAIL",{"Wholesale Lending":4,Retail:5},"red")],init:function(){this._super.apply(this,arguments);this.dataTable.find("> thead th:first").append(this.modeButton.markup);this.headerDisclaimer=this.dataBlock.children(".disclaimer");this.footerIncludes=this.markup.find("div.footer > div.includes");this.footerMsrp=this.markup.find("div.footer span.msrp");this.footerBaseMileage=this.markup.find("div.footer span.baseMileage");},setup:function(){this._super.apply(this,arguments);if(this.data){this.modeButton.setCaption(this.getSelectedMode().name);var e=this.data[0].state;var h=this.data[0].year;var q=this.data[0].dateFrom;var g=this.data[0].dateTo;this.headerDisclaimer.html("&copy;{0} Kelley Blue Book&reg; {1} - {2} Edition for {3}".format(h,q,g,e));this.headerDisclaimer.unbind("click");this.headerDisclaimer.click(function(){alert("\u00A9{0} Kelley Blue Book\u00AE {1} - {2} Edition for {3}. All Rights Reserved. ".format(h,q,g,e)+"Vehicle valuations are opinions and may vary from vehicle to vehicle. Actual valuations will vary based upon market conditions, specifications, vehicle condition or other particular circumstances pertinent to this particular vehicle or the transaction or the parties to the transaction. This pricing is intended for the use of the individual generating this pricing only and shall not be sold or transmitted to another party. Kelley Blue Book assumes no responsibility for errors or omissions.");});var x=this.data;for(var v=2;v<x.length;v++){var p=[];var b={};var f=0;var o={};var w=[];var m=x[v].options;var d=x[v].optionValues;for(var u=0;u<m.length;u++){var c=m[u];var n=c.requires;if(n){for(var s=0;s<n.length;s++){var l=m[n[s]];if(!l.required){l.required=[u];}else{l.required.push(u);}}}if(c.withBody){o[u]=1;}if(c.fromVIN){w.push(u);}if(d[3][u]===0){c.ignored=true;if(c.withBody){p.push(c.name);}}else{b[u]=c;f++;}}this.trimData=x[v];for(u=0;u<w.length;u++){this.setOption(o,w[u],true);}delete this.trimData;x[v].includes=p.length?p.join(", "):undefined;x[v].shownOptions=b;x[v].shownOptionsCount=f;x[v].preselectedOptions=o;}}},populate:function(b){if(!this._super.apply(this,arguments)){return;}if(!b){this.markup.children(".title").find(".region").html(this.trimData.regionName);var e=this.getSelectedOptions()||this.getStateCheckedOptions()||this.trimData.preselectedOptions;var d=$.map(e,function(h,g){return g;});$.each(d,(function(h,g){this.processDeps(e,g,true);}).bind(this));this.setSelectedOptions(e,this.trimData.shownOptions);this.footerIncludes.display(!!this.trimData.includes);this.footerIncludes.children("em").html(this.trimData.includes);this.footerMsrp.children("em").html(this.formatDollar(this.trimData.msrp));this.footerBaseMileage.children("em").html(Autoniq.DataTypes.mileage.html(this.trimData.mileageZero));var c=undefined;var f=$.grep(this.trimData.mileage,function(g){var h=c==undefined||g[1]-c>=5000;if(h){c=g[1];}return h;});this.buildMileageControl(f);}this.releaseDate.html($.format.date(this.trimData.editionDate,"MMM dd"));this.getSelectedMode().onPopulate(b,this);},optionEntryTemplate:function(f,b,g,d){var e=f.ownerPanel;var c=e.trimData.optionValues[e.getSelectedMode().name=="AUCTION"?1:4][g];b.push(["span",{"class":"optionValue"},e.formatDollar(d.standard?-c:c)],["button",{"class":"checkbox"}],d.name);},optionCheckHandler:function(d,b,c){this.processDeps(d,b,c);},isChecked:function(b,c){return b[c];},setOption:function(c,d,b){if(c[d]&&!b){delete c[d];this.processDeps(c,d,b);}else{if(!c[d]&&b){c[d]=1;this.processDeps(c,d,b);}}},processDeps:function(f,e,h){var l=this.trimData.options;var c=l[e];if(h){if(c.radio){$.each(c.radio,(function(i,m){this.setOption(f,m,false);}).bind(this));}if(c.conflict){$.each(c.conflict,(function(i,m){this.setOption(f,m,false);}).bind(this));}if(c.requires){$.each(c.requires,(function(i,m){this.setOption(f,m,true);}).bind(this));}}else{if(c.radio){var j;for(var d=0;d<c.radio.length;d++){var b=c.radio[d];if(f[b]){j=b;break;}if(l[b].ignored){j=b;}}if(j!==undefined){this.setOption(f,j,true);}else{f[e]=1;return;}}var g=c.required;if(g){$.each(g,(function(i,m){this.setOption(f,m,false);}).bind(this));}}}});})();(function(){var c=Object.subClass({init:function(d,g,f,e){this.name=d;this.dataPoints=g;this.optVidx=f;this.css=e;},onPopulate:function(u,h){var l=h.dataTable.children().children("tr");if(!u){var v="";var m="";var r=Math.round(100/Tmatex.countProperties(this.dataPoints));$.each(this.dataPoints,function(y,i){v+="<th width='{0}%'>{1}</th>".format(r,y);m+="<td>";});for(var w=0;w<5;w++){var f=l.eq(w);f.children(w?"td":"th").slice(1).remove();f.append(w?m:v);}}var n=l.eq(1).children("td");var t=l.eq(2).children("td");var d=l.eq(3).children("td");var g=l.eq(4).children("td");if(!u){var e=$.map(h.modes,function(i){return i.css;}).join(" ");l.eq(0).children("th").removeClass(e).addClass(this.css);g.removeClass(e).addClass(this.css);}var j=h.getMileageDomainIdx(h.trimData.mileage);var o=j==-1?0:h.trimData.mileage[j][1];var s=j==-1?0:h.trimData.mileage[j][3];var q=-0.4*h.trimData.values[0];var p=0.5*h.trimData.values[0];s=Math.max(s,q);s=Math.min(s,p);var x=1;$.each(this.dataPoints,function(z,B){var C=0;$.each(h.getSelectedOptions(),function(D){var i=h.trimData.options[D];if(i.count==0&&!i.withBody&&(B<=4||i.auction)){C+=h.trimData.optionValues[B>4?0:B][D];}});if(B>4&&j!=-1){s=h.trimData.slopes[B]*(o-h.trimData.amileage);}var A=h.trimData.values[B];n.eq(x).html(h.formatDollar(A,A<=0));t.eq(x).html(h.formatDollar(C,A<=0));d.eq(x).html(h.formatDollar(s,A<=0||j==-1));var y=A+C+s;if(A>0){if(B<3&&y<120){y=120;}if(B==4&&y<420){y=420;}if(B>4&&y<225){y=225;}}else{y=0;}g.eq(x).html(h.formatDollar(y,A<=0));if(B==4&&y<900&&A>0){g.eq(x-1).html(h.formatDollar(0));}x++;});}});var a=c.subClass({onPopulate:function(d,e){this._super.apply(this,arguments);e.footerBaseMileage.children("em").html(Autoniq.DataTypes.mileage.html(e.trimData.amileage));e.releaseDate.html($.format.date(e.data[0].releaseDateAuction,"MMM dd"));}});var b=c.subClass({onPopulate:function(d,e){this._super.apply(this,arguments);e.footerBaseMileage.children("em").html(Autoniq.DataTypes.mileage.html(e.trimData.bmileage));e.releaseDate.html($.format.date(e.data[0].releaseDate,"MMM"));}});Autoniq.PanelNADA=Autoniq.PanelGuide.subClass({modes:[new b("TRDE-IN",{Clean:0,Avg:1,Rough:2},2,"blue"),new b("RETAIL",{Loan:3,Retail:4},4,"red"),new a("AUCTION",{High:5,Avg:6,Low:7},0,"green")],init:function(){this._super.apply(this,arguments);this.dataTable.children("thead").find("th:first").append(this.modeButton.markup);this.footerMsrp=this.markup.find(".footer .msrp");this.footerBaseMileage=this.markup.find(".footer .baseMileage");},setup:function(){this._super.apply(this,arguments);if(!!this.data){this.releaseDate.html($.format.date(this.data[0].releaseDate,"MMM"));this.markup.children(".title").find(".region").html(this.data[0].regionName);this.modeButton.setCaption(this.getSelectedMode().name);}},populate:function(d){if(!this._super.apply(this,arguments)){return;}if(!d){var e={};var f={};$.each(this.trimData.options,function(i,j){j.count=0;if(!j.withBody){e[i]=j;if(j.selected){f[i]=1;}}});var h=this.getSelectedOptions()||this.getStateCheckedOptions()||f;this.setSelectedOptions(h,e);var g=$.map(h,function(j,i){return i;});$.each(g,(function(j,i){this.processDeps(h,i,true);}).bind(this));this.footerMsrp.children("em").html(this.formatDollar(this.trimData.msrp));this.buildMileageControl(this.trimData.mileage);}this.getSelectedMode().onPopulate(d,this);},optionEntryTemplate:function(g,d,i,e){var f=g.ownerPanel;var h=f.getSelectedMode();var j=h.name=="AUCTION"&&!e.auction?0:f.trimData.optionValues[h.optVidx][i];d.push(["span",{"class":"optionValue"},f.formatDollar(j)],["button",{"class":"checkbox"}],e.name);},optionCheckHandler:function(f,d,e){this.processDeps(f,d,e);},processDeps:function(f,g,e){var d=this.trimData.options[g];if(d.deps){$.each(d.deps,(function(h,i){if(e&&this.trimData.options[i].count++==0){this.optionsList.getEntry(i).display(false);}else{if(!e&&this.trimData.options[i].count--==1){this.optionsList.getEntry(i).display(true);}}}).bind(this));}},onRegionChanged:function(){this.populate(true);}});})();Autoniq.PanelANET=Autoniq.PanelGuide.subClass({init:function(){this._super.apply(this,arguments);this.markup.find("> .title > .region").append(this.regionButton.markup);this.headerImmr=this.markup.children(".immr").display(false);this.dataTable.tbody=this.dataTable.children("tbody");this.dataTable.tableSort({columns:{0:{dataComparator:function(b,a){return b[1]-a[1];}},1:{dataComparator:function(b,a){return b[2].localeCompare(a[2]);}},2:{dataComparator:function(b,a){return b[3]-a[3];}},3:{dataComparator:function(b,a){return b[4]-a[4];},sorted:"asc"}}});this.dataTable.bind("tableSortChanged",this.populate.bind(this));this.aucHistoryBlock=this.markup.find("div.aucHistoryBlock");this.aucHistoryNoData=this.aucHistoryBlock.find("div.noData").display(true);this.aucHistoryTable=this.aucHistoryBlock.find("table.data").display(false);this.aucHistoryTable.tbody=this.aucHistoryTable.children("tbody");},setup:function(g,f,a){this._super.apply(this,[g]);var j=false;if(!!this.data){if(this.data.length>=3){j=true;this.releaseDate.html($.format.date(this.data[0].releaseDate,"MMM dd"));this.regionFilter=this.data[0].regionFilter;this.headerImmr.display(this.data[0].immrEnabled&&!a);if(this.data[0].immrEnabled&&!a){var c=this.getVin();c=this.isVinValid(c)?c:undefined;this.headerImmr.click(function(){window.open("http://m.manheim.com"+(c?"/vin_decode?vin="+c:"/mmr"),"autoniq2");});}}this.noData.display(!j);}var i=new Tmatex.HTML.Builder();var e=!!this.data&&this.data.length>0&&this.data[0].aucHistory.length>0;if(e){var h=0;var d={"class":"even"};$(this.data[0].aucHistory).each(function(l,b){i.add(["tr",h&1?d:undefined,["td",{"class":"first"},$.format.date(b[0],"MM/dd/yy")],["td",{"class":"auctionName"},b[1]],["td",{"class":"mileage"},Autoniq.DataTypes.mileage.text(b[2])],["td",{"class":"notes"},b[3]]]);h++;});}this.aucHistoryTable.tbody.fastHtml(i.build());this.aucHistoryNoData.display(!e);this.aucHistoryTable.display(e);},populate:function(n){if(!this._super.apply(this,arguments)){return;}var h=0,g=this.getMileage(),c=(g!=-1?g/10:0),j=new Tmatex.HTML.Builder(),p=this.trimData.trans,e=0,d=p.length,o=this.isRegionSelected()?this.regionFilter:undefined,f={"class":"even"};p.sort(this.dataTable.dataComparator());for(;e<d;e++){var m=p[e];if(!o||o.indexOf(m[0])>=0){var i="mileage",a=(Math.abs(m[4]-g)<=c);if(a){i+=" mileageMatch";}j.add(["tr",h&1?f:undefined,["td",{"class":"first"},m[1]],["td",{"class":"region"},m[2]],["td",{"class":"price"},this.formatDollar(m[3])],["td",{"class":i},Autoniq.DataTypes.mileage.text(m[4])],["td",m[5]],["td",m[6]]]);h++;}}this.dataTable.tbody.fastHtml(j.build());this.noData.display(h==0);this.dataBlock.display(h>0);},onRegionChanged:function(){this._super.apply(this,arguments);this.populate();},getState:function(){}});(function(){function a(e,f){var g=f;if(e==2){g=$.format.date(+g,"EEEE, MMM dd");}else{if(e==3){g="Lane "+g;}}return g;}Autoniq.laneViewerPage=Autoniq.Page.subClass({createToolbarButtons:function(){this._super.apply(this,[true,false]);},onBack:function(){if(this.tree.path.length){this.tree.back();}else{this._super.apply(this,arguments);}},onCreate:function(e){this._super.apply(this,arguments);this.title=this.markup.find(".toolbar .title:first");(this.backButton=new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"rcElement buttonBack"})).markup.prependTo(this.markup.children(".toolbar"));this.bcPanel=this.markup.children(".panel.breadCrumb").click(function(h){var g=$(h.target).closest("span");if(g[0]){var f=g.parent().children("span").index(g);e.tree.back(f);}});this.wishListButton=this.bcPanel.children("button").click(function(){Tmatex.PM.showPage("wlPage",{auction:e.tree.path.slice()});});this.list=new Tmatex.List(this.markup.find("table.list"),{entrySelectHandler:function(g,f){e.tree.select(f);},entryTemplate:function(h,f,i,g){if(g.counters[1]>0){f[1]["class"]="highlighted";}f.push(["td",a(e.tree.path.length,g.name)],["td",{"class":"count"},g.counters===undefined?"":"("+g.counters[0]+")"],["td",{"class":"selectable"},["div"]]);}});this.tree=new Autoniq.Tree.NavigationTree({onUpdate:function(){var g=!this.path.length;e.bcPanel.display(!g);e.wishListButton.display(this.path.length>=3);e.list.populate(this.entries,undefined,this.active);var f=e.bcPanel;f.children(":not(button)").remove();$.each(this.path,function(h,i){f.append($("<span>").html(a(h,i)));});},onAutoBack:function(){Tmatex.PM.back();},stopAt:function(f){return f.length===3;},onSelected:function(g,f){Tmatex.PM.showPage("runsPage",{lane:this.path.slice(),vst:e.data.vst});},sortChildren:function(g,f){f.sort(function(l,i){var j=l.counters[1],h=i.counters[1];if(j==0&&h!=0){return 1;}if(j!=0&&h==0){return -1;}return(l.name>i.name)-(l.name<i.name);});},repaint:function(){this.entries=this.children(this.path);e.list.populate(this.entries,undefined,this.active);}});},onWishListEvent:function(h,g){var f=this.tree;function e(l,j){if(!l){return;}for(var i in l){var m=i.split("|");f.counters(m,[0,l[i].length*j]);}}e(g.added,1);e(g.deleted,-1);f.repaint();},onTreeLoaded:function(e,f){if(!e){alert(Autoniq.Message.searchNoVehiclesFound);return false;}this.data.tree=e;this.tree.setTree(e,undefined,true);if(this.data.recent){this.tree.setPath(this.data.recent);delete this.data.recent;}if(f){f();}return true;},onLoad:function(e,f){this._super.apply(this,arguments);this.bind(this.EVENT_WISHLIST,this.onWishListEvent);return true;},onBeforeShow:function(g,f,e){this._super.apply(this,arguments);if(!f){return true;}if(this.data.preloaded){delete this.data.preloaded;if(!this.onTreeLoaded(this.data.tree)){return false;}}this.title.html($.isArray(this.data.vst)?"FILTERED AUCTIONS":this.data.recent?"RECENT AUCTIONS":"AUCTIONS");if(this.data.tree){return true;}this.ajax("lv",{data:{vst:g.data.vst,rvid:g.data.rvid,recent:g.data.recent},success:function(h){if(g.data.vst){g.trigger(g.EVENT_VST,{used:g.data.vst,timeStamp:h.timeStamp});}g.onTreeLoaded(h.auctions,e);}});},onUnLoad:function(){this.tree.setTree(undefined);this.unbind(this.EVENT_WISHLIST);this._super.apply(this,arguments);}});var d;var c=new Date();c.setHours(9);c.setMinutes(0);c=c.getTime();function b(g){var f=new Date(c+g*60000);var e=f.getMinutes();return f.getHours()+(e>9?":":":0")+e;}Autoniq.runsPage=Autoniq.Page.subClass({pageSize:20,createToolbarButtons:function(){this._super.apply(this,[true,false]);},hideRange:function(){this.ranges.setActiveEntryKey(this.data.selectedRange);this.list.markup.display(false);this.ranges.markup.display(true);this.nextButton.setVisible(false);delete this.data.selectedRange;this.bcRange.html("");Tmatex.scrollTo(this.data.rangeScrollTop);},showRange:function(e){this.data.selectedRange=e;this.nextButton.setVisible(e<this.data.ranges.length-1);this.bcRange.html(this.data.ranges[e].name);this.backButton.setCaption("Runs");var g=e*this.pageSize;var f=this.data.runs.slice(g,g+this.pageSize);this.list.populate(f);this.ranges.markup.display(false);this.list.markup.display(true);Tmatex.scrollTo(1);},onBack:function(e){if(!e&&this.data.selectedRange!==undefined&&this.data.ranges.length>1){this.hideRange();}else{this._super.apply(this,arguments);}},onCreate:function(e){this._super.apply(this,arguments);(this.backButton=new Tmatex.ToolbarButton("Back",{onClick:function(){Tmatex.PM.back();},css:"rcElement buttonBack"})).markup.prependTo(this.markup.children(".toolbar"));this.nextButton=new Tmatex.Button(this.markup.find(".stripToolbar button"),{onClick:function(){var g=+e.data.selectedRange+1;if(g<e.data.ranges.length){e.showRange(g);}}});var f=this.markup.children("div.panel.breadCrumb");this.wishListButton=f.children("button").click(function(){Tmatex.PM.showPage("wlPage",{auction:e.data.lane.slice(0,-1)});});this.bcLane=f.children(".lane").click(function(){e.onBack(true);});this.bcRange=f.children(".range").click(function(){e.hideRange();});this.ranges=new Tmatex.List(this.markup.find("ul.list"),{entrySelectHandler:function(h,g){e.data.rangeScrollTop=$(window).scrollTop();e.showRange(g);},entryTemplate:function(i,g,j,h){if(h.counters[1]>0){g[1]["class"]="highlighted";}g.push(["div",{"class":"selectable"},h.name]);}});this.list=new Tmatex.List(this.markup.find("table.list"),{entrySelectHandler:function(i,h){var j=+h+e.data.selectedRange*e.pageSize;var g=e.data.runs[j][0];Tmatex.PM.showPage("perPage",{pid:g});},entryTemplate:function(p,q,h,j){var l=j[2];var n=j[3];var m=j[4];var g=j[5]+" "+j[6];var o=j[7];var i=j[8];if(i){q[1]["class"]="highlighted";}q.push(["td",{"class":"laneRun"},["b",l],["div",b(j[1])]],["td",{"class":"name"},["div",g],o?["em",{"class":"notes"},o]:undefined],["td",{"class":"mileage"},["b",Autoniq.DataTypes.mileage.text(n)],["div",m]],["td",{"class":"selectable"},["div"]]);}});},onWishListEvent:function(i,h){var m=this.data;var e=m.lane.join("|");var g=this.pageSize;function f(q,o){var s;if(!q||!(s=q[e])){return;}for(var r=0;r<s.length;r++){var p=s[r];var n=m.runmap[p];if(n!==undefined){m.runs[n][8]=o>0;m.ranges[Math.floor(n/g)].counters[1]+=o;}}}f(h.added,1);f(h.deleted,-1);this.ranges.populate(m.ranges,undefined,this.ranges.getActiveEntryKey());if(m.selectedRange){var l=m.selectedRange*g;var j=m.runs.slice(l,l+g);this.list.populate(j,undefined,this.list.getActiveEntryKey());}},onLoad:function(){this.bind(this.EVENT_WISHLIST,this.onWishListEvent);return true;},onBeforeShow:function(g,f,e){this._super.apply(this,arguments);if(!f){return true;}this.ajax("lv",{data:{lane:this.data.lane.join("|"),vst:this.data.vst},success:function(n){d=n.runs;if(!d){return;}g.data.runs=d;var l={};var h=[];var s=0;var q=0;var r=Math.min(g.pageSize,d.length)-1;for(var o=0;o<d.length;o++){var m=d[o];l[m[0]]=o;if(m[8]){s++;}if(o===r){var j="Runs "+d[q][2]+" to "+m[2];var p={name:j,counters:[undefined,s]};h.push(p);q=r+1;r=Math.min(q+g.pageSize,d.length)-1;s=0;}}g.data.runmap=l;g.data.ranges=h;g.bcLane.html("Lane "+g.data.lane[g.data.lane.length-1]);if(h.length>1){g.ranges.populate(h);g.hideRange();}else{g.showRange(0);}e();}});},onUnLoad:function(){this.unbind(this.EVENT_WISHLIST);this._super.apply(this,arguments);}});Autoniq.wlPage=Autoniq.Page.subClass({onCreate:function(f){this._super.apply(this,arguments);this.list=new Tmatex.List(this.markup.find("table.list"),{entryTemplate:function(o,q,h,j){var p=j[1]+":"+j[2];var m=j[3];var l=j[4];var g=j[5]+" "+j[6];var i=b(j[7]);var n=j[8];q.push(["td",{"class":"chk"},["button",{"class":"checkbox"}]],["td",{"class":"laneRun"},["b",p],["div",i]],["td",{"class":"name"},["div",g],n?["em",{"class":"notes"},n]:undefined],["td",{"class":"mileage"},["b",Autoniq.DataTypes.mileage.text(m)],["div",l]],["td",{"class":"selectable"},["div"]]);o.addSearchTokens(h,g,l);},entrySelectHandler:function(h,g){Tmatex.PM.showPage("perPage",{pid:f.data.runs[g][0]});},deleteComponent:f.markup.find("button.delete"),deleteHandler:function(g){var h=$.map(g,function(i){return f.data.runs[i][0];});f.ajax("wl",{type:"POST",data:{pids:h},success:function(i){f.trigger(f.EVENT_WISHLIST,i);}});},filterComponent:f.markup.find(".filter input"),filterPersistedId:"filter_wlPage"});this.list.sortModeIndex=Autoniq.LocalStorage.restore("lv.sortMode")||0;this.list.superPopulate=this.list.populate;this.list.populate=function(g){g.sort(e[f.list.sortModeIndex][1]);f.list.superPopulate.apply(f.list,arguments);};var e=[["byName",function(j,i){var h=(j[5]+" "+j[6]).toLowerCase();var g=(i[5]+" "+i[6]).toLowerCase();return(g<h)-(h<g);}],["byTime",function(h,g){return h[7]-g[7];}],["byLane",function(l,j){var i=(""+l[1]).toLowerCase();var g=(""+j[1]).toLowerCase();var h=(g<i)-(i<g);if(h!=0){return h;}return l[7]-j[7];}]];this.markup.find("button.add").click(function(){Tmatex.PM.showPage("wlAddPage",{parentData:f.data});});this.sortButton=this.markup.find("button.sort").click(function(){f.list.sortModeIndex=++f.list.sortModeIndex%e.length;f.sortButton.removeClass("byName byTime byLane");f.sortButton.addClass(e[f.list.sortModeIndex][0]);f.list.populate(f.data.runs);Autoniq.LocalStorage.save("lv.sortMode",f.list.sortModeIndex);});f.sortButton.addClass(e[this.list.sortModeIndex][0]);},onWishListEvent:function(j,h){if(h.deleted){var g={};for(var e in h.deleted){var l=h.deleted[e];for(var f=0;f<l.length;f++){g[l[f]]=true;}}this.data.runs=$.grep(this.data.runs,function(i){return !g[i[0]];});}if(h.runs){this.data.runs=this.data.runs.concat(h.runs);}this.list.populate(this.data.runs);},onLoad:function(){this.bind(this.EVENT_WISHLIST,this.onWishListEvent);return true;},onBeforeShow:function(g,f,e){this._super.apply(this,arguments);if(!f){return true;}this.ajax("wl",{data:{auction:this.data.auction.join("|")},success:function(h){var i=h.runs;if(i){g.data.runs=i;g.list.populate(i);e();}}});},onUnLoad:function(){this.unbind(this.EVENT_WISHLIST);this._super.apply(this,arguments);}});Autoniq.wlAddPage=Autoniq.Page.subClass({onCreate:function(e){this._super.apply(this,arguments);this.tree=new Autoniq.Tree.VehicleTree({list:this.markup.find("ul.list"),breadCrumb:this.markup.children("div.panel.breadCrumb"),leafSelectHandler:function(g,f,h){if(confirm(g.join(" ")+"\n Add "+f[0]+" vehicles to Wish List?")){e.ajax("wl",{type:"POST",data:{vid:g.join("|"),auction:e.data.parentData.auction.join("|"),vidProvider:h},success:function(i){e.trigger(e.EVENT_WISHLIST,i);}});}}});},onBeforeShow:function(g,f,e){this._super.apply(this,arguments);if(!f){return true;}var h=this.data.parentData;if(h.tree){console.log("Found tree");this.tree.setTree(h.tree);return true;}this.ajax("wl",{data:{auction:h.auction.join("|"),vs:true},success:function(i){if(i.tree){g.tree.setTree(i.tree);console.log("Loaded tree");e();}}});},onUnLoad:function(){this.tree.setTree(undefined);this._super.apply(this,arguments);}});})();
