function DimValSelectionsQueue(I){var A=I.searchResults;var D=[];var F=I.onAddFirstSelection;var B=I.onRemoveLastSelection;var G=function(L){var K=false;$(D).each(function(M){if(K){D[M-1]=this;}else{if(this.id==L){K=true;}}});if(K){D.length=D.length-1;}return K;};var J=function(K){$(makeDimVals).each(function(L){if(this.id==K.id){makeDimVals[L]=K;return false;}});};var H=function(Q,P){var M=false;if(Q.id==P.id&&Q.selected==P.selected&&Q.selectedModelsDimValIds.length==P.selectedModelsDimValIds.length&&Q.selectedModelsAdvertCount==P.selectedModelsAdvertCount){M=true;for(var L=0;L<Q.selectedModelsDimValIds.length&&M;L++){var N=Q.selectedModelsDimValIds[L];var O=false;for(var K=0;K<P.selectedModelsDimValIds.length&&!O;K++){if(N==P.selectedModelsDimValIds[K]){O=true;}}if(!O){M=false;}}}return M;};this.queueGenericDimVal=function(K){if(K.selected){navigation.getOpenDrawer().addDimValToNParam(K.id);}else{navigation.getOpenDrawer().removeDimValFromNParam(K.id);}if(!G(K.id)){var M=this.hasPendingSelections();var L;if(K.selected){L=function(){A.addDimValToNParam(K.id);};}else{L=function(){A.removeDimValFromNParam(K.id);};}D[D.length]={id:K.id,action:L};if(!M){F();}}else{if(!this.hasPendingSelections()){B();}}};var C=function(L){var K=!G("range");D[D.length]={id:"range",action:L};if(K){F();}};var E=function(M){if(M!=""){var K=M.split("+");for(var L=0;L<K.length;L++){A.removeDimValFromNParam(K[L]);}}};this.queueRangeDimVals=function(K,M,L){navigation.getOpenDrawer().setNParam(M.id+"+"+L.id);C(function(){E(K);A.addDimValToNParam(M.id);A.addDimValToNParam(L.id);});};this.queueClearRangeSelection=function(K){navigation.getOpenDrawer().setNParam("");C(function(){E(K);});};this.queueMakeDimVal=function(M){var K=getMakeDimVal(M.id);var N=navigation.getOpenDrawer();N.removeMakeModelSelectionsFromNParam(K);N.addMakeModelSelectionsToNParam(M);if(H(K,M)){if(G(M.id)&&!this.hasPendingSelections()){B();}}else{var L=!G(M.id)&&!this.hasPendingSelections();D[D.length]={id:M.id,action:function(){A.removeMakeModelSelectionsFromNParam(K);A.addMakeModelSelectionsToNParam(M);J(cloneObject(M));}};if(L){F();}}};this.hasPendingSelections=function(){return D.length>0;};this.clearPendingSelections=function(){D=[];B();};this.executePendingSelections=function(){for(var K=0;K<D.length;K++){D[K].action();}this.clearPendingSelections();};}