function BreadCrumbsContainer(C){var F=C.breadCrumbMaxChars;var G=C.container;var L="-";var J=new RegExp(L,"g");var R="\u20AC";var H="\u00A3";var O=false;var B=C.onAddBreadCrumb;var E=C.onRemoveBreadCrumb;var A=C.refreshNavigation;var D="keyword";var N=function(S){return S.replace(/[^a-zA-Z0-9]/g,"");};var K=function(S){if(typeof S=="string"){S=N(S);}S=""+S;if(S.indexOf("BreadCrumb")!=S.length-"BreadCrumb".length-1){S+"BreadCrumb";}return S;};var I=function(U,T,Y,V,W,a){var X;if(V){X=V;}else{if(T.length>F){X=T.substring(0,F-2)+"&hellip;";}else{X=T;}}var b=G.find("ul li").length;var Z=K(U);G.find("li[name="+Z+"]").remove();var S="<li class='"+Y+"' name='"+Z+"' id='item"+a+"'"+">"+X+"<span class='bcRemove' id='remove"+a+"'></span></li>";G.find("ul").prepend(S);$("li[name="+Z+"] .bcRemove").click(function(){M(Y);Q(U);A();});if(B){B();}};this.addBodyTypeBreadCrumb=function(S){var T;if(navigationConfig.channel=="BIKES"){T="Type: ";}else{T="Body Type: ";}I(S.id,T+S.name,S.id,"","","Body");};this.addFuelTypeBreadCrumb=function(S){I(S.id,"Fuel Type: "+S.name,S.id,"","","Fuel");};this.addCountyBreadCrumb=function(S){I(S.id,"Location: "+S.name,S.id,"","","County");};this.addColourBreadCrumb=function(S){I(S.id,"Colour: "+S.name,S.id,"","","Colour");};this.addCategoryBreadCrumb=function(S){I(S.id,"Category: "+S.name,S.id,"","","Category");};this.addTransmissionBreadCrumb=function(S){I(S.id,"Transmission: "+S.name,S.id,"","","Transmission");};this.addSellerTypeBreadCrumb=function(S){I(S.id,"Seller Type: "+S.name,S.id,"","","SellerType");};this.addDoorsBreadCrumb=function(S){I(S.id,"Doors: "+S.name,S.id,"","","Doors");};this.addRecentlyAddedBreadCrumb=function(S){I(S.id,"Recently added: "+S.name,S.id,"","","RecentlyAdded");};this.addClassicCarsBreadCrumb=function(S){I(S.id,"Classic Cars: Over 25 years",S.id,"","","ClassicCars");};this.addVehicleTypeBreadCrumb=function(S){I(S.id,"Vehicle Type: "+S.name,S.id,"","","VehicleType");};this.addMakeBreadCrumb=function(S){var Y=S.name;var U="";if(S.selectedModelsDimValIds.length>0){if(S.selectedModelsDimValIds.length>1){Y+=" ("+S.selectedModelsDimValIds.length+" models)";}else{Y+=" (1 model)";}$(S.selectedModelsDimValIds).each(function(){if(U.length>0){U+=L;}U+=this;});}else{Y+=" (All models)";U+=S.id;}var X;if(Y.length>F){var T=Y.length-F;var W=S.name;var V=W.substring(0,W.length-T-3)+"&hellip;";X=Y.replace(W,V);}I(S.name,Y,U,X,"","Make");};this.removeMakeBreadCrumb=function(S){Q(S.name);};var P=function(T,S){return T.id+L+S.id;};this.addYearRangeBreadCrumb=function(U,T){var V="Year: ";if(U.id==minYearDimVals[0].id){V+="Min";}else{V+=U.name;}if(U.name!=T.name){V+=" to "+T.name;}var S=P(U,T);I("year",V,S,"","","Year");};this.addYearBreadCrumb=function(S){I("year","Year: "+S.name,S.id,"","","Year");};this.removeYearBreadCrumb=function(){Q("year");};this.addPriceRangeBreadCrumb=function(U,S){var V;if(navigationConfig.currency=="GBP"){V="Price: "+H;}else{V="Price: "+R;}if(U.id==minPriceEuroDimVals[0].id){V+="Min";}else{V+=formatNumber(U.name);}if(navigationConfig.currency=="GBP"){V+=" to "+H;}else{V+=" to "+R;}if(S.id==maxPriceEuroDimVals[maxPriceEuroDimVals.length-1].id){V+="Max";}else{V+=formatNumber(S.name);}var T=P(U,S);I("price",V,T,"","","Price");};this.removePriceBreadCrumb=function(){Q("price");};this.addMileageRangeBreadCrumb=function(S,U){var V="Mileage: ";if(S.id==minMileageDimVals[0].id){V+="Min";}else{V+=formatNumber(S.name);}V+=" to ";if(U.id==maxMileageDimVals[maxMileageDimVals.length-1].id){V+="Max";}else{V+=formatNumber(U.name);}var T=P(S,U);I("mileage",V,T,"","","Mileage");};this.removeMileageBreadCrumb=function(){Q("mileage");};this.addEngineSizeRangeBreadCrumb=function(U,S){var V="Engine Size: ";if(U.id==minEngineSizeDimVals[0].id){V+="Min";}else{V+=U.name+"L";}if(U.name!=S.name){V+=" to ";if(S.id==maxEngineSizeDimVals[maxEngineSizeDimVals.length-1].id){V+="Max";}else{V+=S.name+"L";}}var T=P(U,S);I("engineSize",V,T,"","","EngineSize");};this.removeEngineSizeBreadCrumb=function(){Q("engineSize");};this.addKeywordBreadCrumb=function(W){var X=K(D);var V=G.find("li[name="+X+"]");if(W.keywords.trim().length==0){if(V.length==1){V.find(".bcRemove").click();}}else{if(V.length==1){V.remove();}var U="Keywords: "+W.keywords;if(U.length>F){U=U.substring(0,F-2)+"&hellip;";}var S="<li name='"+X+"' id='itemKeyword'>"+U+"<span class='bcRemove' id='removeKeyword'></span></li>";if(W.keywordSelectionIndex==0||G.find("ul li").length==0){G.find("ul").append(S);}else{var T=Math.max(0,this.size()-W.keywordSelectionIndex);G.find("ul li:eq("+T+")").before(S);}$("li[name="+X+"] .bcRemove").click(function(){W.keywords="";W.keywordSelectionIndex=0;Q(D);A();});if(B){B();}}};this.addBreadCrumbsFromJson=function(S){var T=[];var Y=[];var W=[];var X=[];for(var V=0;V<S.length;V++){var U=S[V].dimensionName;if(U=="Body Type"){this.addBodyTypeBreadCrumb(S[V].dimVal);}else{if(U=="Cars Added Recently"){this.addRecentlyAddedBreadCrumb(S[V].dimVal);}else{if(U=="Colour"){this.addColourBreadCrumb(S[V].dimVal);}else{if(U=="Category"){this.addCategoryBreadCrumb(S[V].dimVal);}else{if(U=="County"){this.addCountyBreadCrumb(S[V].dimVal);}else{if(U=="Fuel Type"){this.addFuelTypeBreadCrumb(S[V].dimVal);}else{if(U=="Make"){this.addMakeBreadCrumb(S[V].dimVal);}else{if(U=="Minimum Engine Size"){T[0]=S[V].dimVal;}else{if(U=="Maximum Engine Size"){T[1]=S[V].dimVal;}else{if(U=="Minimum Mileage"){Y[0]=S[V].dimVal;}else{if(U=="Maximum Mileage"){Y[1]=S[V].dimVal;}else{if(U=="Minimum Price Euro"){W[0]=S[V].dimVal;}else{if(U=="Maximum Price Euro"){W[1]=S[V].dimVal;}else{if(U=="Minimum Price Gbp"){W[0]=S[V].dimVal;}else{if(U=="Maximum Price Gbp"){W[1]=S[V].dimVal;}else{if(U=="Minimum Year"){X[0]=S[V].dimVal;}else{if(U=="Maximum Year"){X[1]=S[V].dimVal;}else{if(U=="Quantity of Doors"){this.addDoorsBreadCrumb(S[V].dimVal);}else{if(U=="Seller Type"){this.addSellerTypeBreadCrumb(S[V].dimVal);}else{if(U=="Transmission"){this.addTransmissionBreadCrumb(S[V].dimVal);}else{if(U=="Year"){this.addYearBreadCrumb(S[V].dimVal);}else{if(U=="Is Classic"){this.addClassicCarsBreadCrumb(S[V].dimVal);}else{if(U=="Vehicle Type"){this.addVehicleTypeBreadCrumb(S[V].dimVal);}}}}}}}}}}}}}}}}}}}}}}}}if(T.length==2){this.addEngineSizeRangeBreadCrumb(T[0],T[1]);}if(Y.length==2){this.addMileageRangeBreadCrumb(Y[0],Y[1]);}if(W.length==2){this.addPriceRangeBreadCrumb(W[0],W[1]);}if(X.length==2){this.addYearRangeBreadCrumb(X[0],X[1]);}};var Q=function(T){var S=$("li[name="+K(T)+"]");if(S.length!=0){S.remove();E();}};var M=function(S){if(typeof S!="string"){S+="";}$(S.split(L)).each(function(){if(isNParamContainsDimVal(makeModelDimensionNParam,this)){makeModelDimensionNParam=removeDimValFromNParam(makeModelDimensionNParam,this);}else{if(isNParamContainsDimVal(bodyTypeDimensionNParam,this)){bodyTypeDimensionNParam=removeDimValFromNParam(bodyTypeDimensionNParam,this);}else{if(isNParamContainsDimVal(fuelTypeDimensionNParam,this)){fuelTypeDimensionNParam=removeDimValFromNParam(fuelTypeDimensionNParam,this);}else{if(isNParamContainsDimVal(yearDimensionNParam,this)){yearDimensionNParam=removeDimValFromNParam(yearDimensionNParam,this);}else{if(isNParamContainsDimVal(priceDimensionNParam,this)){priceDimensionNParam=removeDimValFromNParam(priceDimensionNParam,this);}else{if(isNParamContainsDimVal(engineSizeDimensionNParam,this)){engineSizeDimensionNParam=removeDimValFromNParam(engineSizeDimensionNParam,this);}else{if(isNParamContainsDimVal(mileageDimensionNParam,this)){mileageDimensionNParam=removeDimValFromNParam(mileageDimensionNParam,this);}else{if(isNParamContainsDimVal(transmissionDimensionNParam,this)){transmissionDimensionNParam=removeDimValFromNParam(transmissionDimensionNParam,this);}else{if(isNParamContainsDimVal(countyDimensionNParam,this)){countyDimensionNParam=removeDimValFromNParam(countyDimensionNParam,this);}else{if(isNParamContainsDimVal(colourDimensionNParam,this)){colourDimensionNParam=removeDimValFromNParam(colourDimensionNParam,this);}else{if(isNParamContainsDimVal(categoryDimensionNParam,this)){categoryDimensionNParam=removeDimValFromNParam(categoryDimensionNParam,this);}else{if(isNParamContainsDimVal(doorsDimensionNParam,this)){doorsDimensionNParam=removeDimValFromNParam(doorsDimensionNParam,this);}else{if(isNParamContainsDimVal(sellerTypeDimensionNParam,this)){sellerTypeDimensionNParam=removeDimValFromNParam(sellerTypeDimensionNParam,this);}else{if(isNParamContainsDimVal(carsAddedRecentlyDimensionNParam,this)){carsAddedRecentlyDimensionNParam=removeDimValFromNParam(carsAddedRecentlyDimensionNParam,this);}else{if(isNParamContainsDimVal(classicAdvertsDimensionNParam,this)){classicAdvertsDimensionNParam=removeDimValFromNParam(classicAdvertsDimensionNParam,this);}else{if(isNParamContainsDimVal(vehicleTypeDimensionNParam,this)){vehicleTypeDimensionNParam=removeDimValFromNParam(vehicleTypeDimensionNParam,this);}}}}}}}}}}}}}}}}});};this.removeBreadCrumb=function(S){Q(S.id);};this.reset=function(){G.find("ul li").each(function(){$(this).remove();});};this.getNParam=function(){var V="";var S=G.find("ul li");if(S.length>0){for(var U=S.length-1;U>=0;U--){var T=$(S[U]).attr("class");if(V.length>0){V+="+";}V+=T.replace(J,"+");}}return V;};this.lock=function(){if(!O){$(".bcRemove").hide();$(".bcRemove").after("<span class='bcLocked'></span>");G.find("ul li").addClass("locked");O=true;}};this.unlock=function(){if(O){$(".bcRemove").show();$(".bcLocked").remove();G.find("ul li").removeClass("locked");O=false;}};this.size=function(){return G.find("ul li").length;};this.hasKeywords=function(){return G.find("li[name="+K(D)+"]").length>0;};}
