(function(){var window=this,$=window.jQuery,urlize=function(arg,x,y,z){x=x||"?";y=y||"&";z=z||"=";var c,i,l,s="",v,urlencode=function(str){return window.escape(str).replace(/\+/g,"%2B").replace(/\"/g,"%22").replace(/\'/g,"%27");};switch(typeof arg){case"object":if(arg){for(i in arg){if(typeof(v=urlize(arg[i]))!=="function"){if(s){s+=y;}s+=urlencode(urlize(i))+z+urlencode(v);}}return(s.length>=1?x:"")+s;}else{return"null";}case"string":return arg;case"number":return String(arg);default:return"null";}},compareListCookieName="DDC.compareVehicles",getCompareList=function(defaultCookie){var rawCookie=$.cookie(compareListCookieName)||JSON.stringify(defaultCookie),list=JSON.parse(rawCookie);list.size=function(){var size=0,x;for(x in this){if(x!=="size"){size++;}}return size;};return list;},cookieSettings={};$.extend({setUrlParams:function(params,callback,optionalUrlOrPath){var cleaned=function(obj){for(var x in obj){if(obj[x]===""||obj[x]==="InventoryListing"){delete obj[x];}}return obj;},updateUrl=function(params,optionalUrlOrPath){var currentUrl=optionalUrlOrPath||window.location.toString();currentUrl=currentUrl.replace(/\?(.+)$/,"");params=params.replace(/\%2B/g," ").replace(/\+/g," ");window.location=currentUrl+(params||"");};params=$.extend({},$.getUrlParams(),params||{});updateUrl(urlize(cleaned(params)),optionalUrlOrPath);if(callback&&(typeof callback==="function")){callback();}return this;},getUrlParams:function(){var deurlize=function(str){var obj={},items=str.split("&"),currentItem,i;for(i=0;i<items.length;i++){currentItem=items[i].split("=");if(currentItem instanceof Array){obj[currentItem[0]]=(currentItem[1]||"").replace(/\%2C/g,",").replace(/\%20/g," ").replace(/\%26/g,"&")||undefined;}}return obj;};return deurlize(((window.location.toString().split("?")[1]||"").split("#")[0])||"");},disableSearching:function(settings){settings=$.extend({selector:"#invSmartbrowse, #sorting, .paging, .filters"},settings);$(settings.selector).addClass("inventoryLoading").animate({opacity:0.4});$("a",settings.selector).unbind("click").click(function(){return false;});$("select",settings.selector).unbind("change");return this;},compareVehiclesDeselect:function(){$.cookie(compareListCookieName,JSON.stringify({}),cookieSettings);$("#comparing .compare").trigger("compareListUpdate");$("div.compare a.selected").removeClass("selected");return false;},threadedEach:function(arr,fn,settings){settings=$.extend({wait:100,after:null},settings);var i=0,wait=function(){setTimeout(function(){if($.isFunction(fn)&&i<((arr.size&&arr.size())||arr.length)){if(arr instanceof $){fn.apply($(arr).eq(i),[i]);}else{fn.apply(arr[i],[i]);}i++;wait();}else{if($.isFunction(settings.after)){settings.after.apply(window);}}},settings.wait);};if($.isArray(arr)||arr instanceof $){wait();}return arr;}});$.fn.extend({threadedEach:function(fn,settings){return $.threadedEach(this,fn,settings);},hoverClassToggle:function(settings){settings=$.extend({className:"hover"},settings);return $(this).each(function(){$(this).hover(function(){$(this).addClass(settings.className);},function(){$(this).removeClass(settings.className);});});},popUp:function(settings){settings=$.extend({windowName:"external",thickbox:false},settings);var showThickbox=function(url,title,width,height){window.tb_show(title,url+"&width="+width+"&height="+height,null);};return $(this).click(function(){if(settings.thickbox){showThickbox($(this).attr("href"),$(this).text(),$(this).attr("rel").split(", ")[0],$(this).attr("rel").split(", ")[1]);}else{window.open($(this).attr("href"),settings.windowName);}return false;});},smartbrowse:function(settings){settings=$.extend({inventoryLink:"",fields:{SByear:$("#sbYear"),SBmake:$("#sbMake"),SBmodel:$("#sbModel"),SBtrim:$("#sbTrim"),SBbodystyle:$("#sbBodyStyle"),SBmileage:$("#sbMileage"),SBcityMPG:$("#sbCityMpg"),SBhighwayMPG:$("#sbHighwayMpg"),SBprice:$("#sbPrice"),SBlinkedAccountId:$("#sbLocation"),SBstockNumber:$("#sbStockNumber")}},settings);if(settings.inventoryLink.indexOf("/404.html")!==-1){settings.inventoryLink="";}var getCurrentOptions=function(){var options={};$.each(settings.fields,function(i){options[i]=($(this).val()!=="all")?$(this).val():"";});return options;},sbChange=function(){var options=getCurrentOptions();if($.getUrlParams().start){options.start="0";}if($(this).is("#sbType")&&($(this).val()==="certified")){options.type="";options.certified="true";}else{if($(this).is("#sbType")&&($(this).val()!=="certified")){options.certified="";}else{if($(this).is("#sbMake")&&($(this).val()==="clear")){options.SBmodel="clear";}}}$.setUrlParams(options,$.disableSearching,settings.inventoryLink);return false;},sbSubmit=function(){var options={},field;for(field in settings.fields){options[field]="";}$.extend(options,{SBstockNumber:settings.fields.SBstockNumber.val()});$.setUrlParams(options,$.disableSearching,settings.inventoryLink);return false;};$.each(settings.fields,function(i){$(this).not("[name=sbModel]").attr("disabled","").end().filter("[name=sbModel]:not(.disabled)").attr("disabled","").end().filter("select").bind("change.smartbrowse",sbChange);});$("form",this).bind("submit.smartbrowse",sbSubmit);$("#sbStockNumber + a",this).bind("click.smartbrowse",sbSubmit);return $(this);},paging:function(){var page=function(){$.setUrlParams({start:$(this).attr("rel")},$.disableSearching);return false;};return $(this).each(function(){$("a:not(.disabled)",this).click(page);$("a.disabled",this).click(function(){return false;});});},filtering:function(settings){settings=$.extend({excludedFiltersSelector:".hybridVehicles"},settings);return $(this).each(function(){if($("li",this).size()===0){$(this).addClass("hidden");}$("li:not("+settings.excludedFiltersSelector+")",this).click(function(){var keyValuePair=$("a",this).attr("href").replace(/\?/,"").split("="),params={};params[keyValuePair[0]]=($(this).is(":not(.selected)"))?keyValuePair[1]:"clear";params.start=0;$(this).toggleClass("selected");$.setUrlParams(params,$.disableSearching);return false;});});},sorting:function(settings){settings=$.extend({urlParam:"sortBy",defaultDirection:"ascending",classes:{selected:"selected",ascending:"asc",descending:"desc"},sortToggles:{year:".sortyear",make:".sortmake",model:".sortmodel",bodyStyle:".sortbodystyle",extColo:".sortextcolor",internetPrice:".sortinternetprice",salePrice:".sortsaleprice",retailValue:".sortretailvalue",askingPrice:".sortaskingprice",msrp:".sortmsrp",mileage:".sortmileage",trim:".sorttrim"}},settings);var self=this,all,hasDefaultSort=false,curSort,curDir,curSortMatch,curSortItem,changeSort;$.each(settings.sortToggles,function(i,val){all=(all||$(val)).add(val);hasDefaultSort=($(val,self).hasClass(settings.classes.selected))?true:hasDefaultSort;});curSort=$.getUrlParams()[settings.urlParam]||"";curDir=(curSort.match(/(asc|desc)/)||[""])[0];curSortMatch=curSort.match(/(.+?)\s(?:asc|desc)/);curSortItem=curSortMatch instanceof Array?curSortMatch[1]:"";$(this).addClass(curDir);$(".sort"+curSortItem,this).addClass(settings.classes.selected);changeSort=function(){var paramObj={},sort=$(this).attr("rel");if(!$(this).hasClass(settings.classes.selected)){$("."+settings.classes.selected,self).removeClass(settings.classes.selected);$(self).removeClass(settings.classes.descending).removeClass(settings.classes.ascending).addClass(settings.classes[settings.defaultDirection]);sort=sort.replace(/(\,)|( desc\,)/," "+settings.classes.ascending+",");}else{sort=sort.replace((sort.indexOf(curSortMatch[0])!==-1)?curSortMatch[0]:curSortItem,curSortItem+" "+settings.classes[(curDir===settings.classes.ascending)?"descending":"ascending"]);}$(this).addClass(settings.classes.selected);sort=sort.replace(/desc desc/,settings.classes.descending);paramObj[settings.urlParam]=sort;$.setUrlParams(paramObj,$.disableSearching);return false;};return $(this).each(function(){$(all).click(changeSort);});},compareVehiclesLink:function(settings){settings=$.extend({compareUrl:null},settings);var compare=function(){var compareUrl=settings.compareUrl+"?vehicleId=",compareList=getCompareList({}),vehicleId;if(compareList.size()>1){for(vehicleId in compareList){compareUrl+=(vehicleId!=="size")?vehicleId+"&vehicleId=":"";}document.location=compareUrl;}return false;},renderCompareCount=function(){var compareList=getCompareList({}),count=compareList.size();$("#comparing .compareCount").text(count);};return $(this).click(compare).bind("compareListUpdate",renderCompareCount).trigger("compareListUpdate");},compareVehiclesToggle:function(settings){settings=$.extend({cookieSettings:{expires:30,path:"/"},maxVehicles:4,limitLabel:"Please select no more than 4 vehicles",compareOverflow:function(max){alert(this.limitLabel);}},settings);cookieSettings=settings.cookieSettings;var setCompareList=function(data){var rawCookie=JSON.stringify(data||{});$.cookie(compareListCookieName,rawCookie,settings.cookieSettings);},compareToggle=function(){var vehicleTitleEl=$(this).parents(".vehicle").find("h2").find("a"),vehicleName=$(vehicleTitleEl).text(),vehicleId=$(this).parents(".vehicle").attr("id"),compareList=getCompareList({});if(compareList[vehicleId]){delete compareList[vehicleId];$("a",this).removeClass("selected");}else{if(compareList.size()<settings.maxVehicles){compareList[vehicleId]=vehicleName;$("a",this).addClass("selected");}else{settings.compareOverflow(settings.maxVehicles);}}setCompareList(compareList);$("#comparing .compare").trigger("compareListUpdate");return false;},initializeToggles=function(){var compareList=getCompareList({}),vehicleId;for(vehicleId in compareList){$("div.compare a","#"+vehicleId).addClass("selected");}};initializeToggles();return $("li.vehicle div.compare",this).click(compareToggle);},estimatedPayment:function(settings){settings=$.extend({term:"60",rate:"8.9",trade:"0",displaySelector:".estPay:eq(1)",priceSelector:".estPay.price",call:"Call"},settings);var set=$(this),size=$(set).size(),calculate=function(vals){var loanPrice=vals.price-(typeof vals.trade==="number"?vals.trade:0),monthlyRate=vals.rate/1200,payment=monthlyRate?((monthlyRate+(monthlyRate/(Math.pow(1+monthlyRate,vals.term)-1)))*loanPrice):(loanPrice/vals.term);return((typeof payment==="number")&&!isNaN(payment)&&payment>0)?payment:-1;},formatCurrency=function(amount){var i=parseFloat(amount),minus,s;i=isNaN(i)?0:i;minus=(i<0)?"-":"";s=(Math.round(parseInt((Math.abs(i)+0.005)*100,10)/100)).toString();return minus+s;};return $(this).threadedEach(function(){var price=parseInt($(this).find(settings.priceSelector).text(),10)||0,trade=parseFloat(settings.trade.toString().replace(/(\$)|(\,)|(\%)/g,""))||0,payment;if(settings.trade.toString().indexOf("%")!==-1){trade=price*(trade/100);}payment=calculate({term:parseInt(settings.term,10)||60,rate:parseFloat(settings.rate)||0,trade:trade,price:price});if(payment>=0){$(this).find(settings.displaySelector).text("$"+formatCurrency(payment));}});}});$("a.vevoVideoLink").unbind("click").click(function(){window.open(this.href,"vevowin","directories=no,status=no,location=no,menubar=no,toolbar=no,"+"resizable=no,scrollbars=no,height=270,width=320");return false;});}());