SearchVehicle=function(a){this.Makes=[];if(null!=a){if(a.Makes){this.addMakes(a.Makes)}}};SearchVehicle.prototype={addMake:function(c){var e=c.MakeId||c;if(null!=c&&0<e){var b=this.Makes.length;var d=false;for(var a=0;a<b;a++){if(this.Makes[a].MakeId==e){d=true;if(c.Models){this.Makes[a].addModels(c.Models)}c=this.Makes[a];break}}if(!d){if(c.MakeId){this.Makes.push((c.clone)?c.clone():new SearchMake(c))}else{c=new SearchMake(e);this.Makes.push(c)}}}return c},addMakes:function(a){var c=a.length;for(var b=0;
b<c;b++){this.addMake(a[b])}},removeMake:function(c){var e=c.MakeId||c;var b=this.Makes.length;var a=[];for(var d=0;d<b;d++){if(this.Makes[d].MakeId!=e){a.push(this.Makes[d])}}this.Makes=a;return this},findMake:function(c){var e=c.MakeId||c;if(null!=c&&0<e){var b=this.Makes.length;var d=false;for(var a=0;a<b;a++){if(this.Makes[a].MakeId==e){d=true;c=this.Makes[a];break}}}return(d)?c:null},addModel:function(a,b){this.addMake(a).addModel(b)},removeModel:function(a,b){a=this.findMake(a);if(a){a.removeModel(b)
}return a},addCFModel:function(a,c,b){if(typeof(b)=="object"){this.addMake(a).addModel(c).addCFModels(b)}else{this.addMake(a).addModel(c).addCFModel(b)}},removeCFModel:function(c,e,d){c=this.findMake(c);if(c){e=c.findModel(e);if(!e){var b=c.Models.length;var f=(typeof(d)=="object")?d[0]:d;for(var a=0;a<b;a++){if(null!=c.Models[a].findCFModel(f)){e=c.Models[a]}}}if(e){if(typeof(d)=="object"){var b=d.length;for(var a=0;a<b;a++){e.removeCFModel(d[a])}}else{e.removeCFModel(d)}}}return e},addTrim:function(a,c,b,d){this.addMake(a).addModel(c).addCFModel(b).addTrim(d)
},removeTrim:function(a,c,b,d){a=this.findMake(a);if(a){c=a.findModel(c);if(c){b=c.findCFModel(b);if(b){b.removeTrim(d)}}}return b},clone:function(){var a=new SearchVehicle();a.addMakes(this.Makes);Sys.Debug.assert(this!==a,"SearchVehicle: New and Cloned are equal!");return a}};SearchMake=function(a){this.MakeId=a.MakeId||a;this.Models=[];this.IsAllModels=false;if(a&&a.Models){this.addModels(a.Models)}};SearchMake.prototype={addModel:function(e){var d=(null!=e.Model)?e.Model:e;if(null!=e){var b=this.Models.length;
var c=false;for(var a=0;a<b;a++){if(this.Models[a].Model==d){c=true;if(e.CFModels){this.Models[a].addCFModels(e.CFModels)}e=this.Models[a];break}}if(!c){if(null!=e.Model){this.Models.push((e.clone)?e.clone():new SearchModel(e))}else{e=new SearchModel(e);this.Models.push(e)}}}return e},addModels:function(c){var b=c.length;for(var a=0;a<b;a++){this.addModel(c[a])}},removeModel:function(e){var c=(null!=e.Model)?e.Model:e;var b=this.Models.length;var d=[];for(var a=0;a<b;a++){if(this.Models[a].Model!=c){d.push(this.Models[a])
}}this.Models=d;return this},findModel:function(e){var d=(null!=e.Model)?e.Model:e;if(null!=e){var b=this.Models.length;var c=false;for(var a=0;a<b;a++){if(this.Models[a].Model==d){c=true;e=this.Models[a];break}}}return(c)?e:null},clearModels:function(){this.Models=[]},modelCount:function(){var c=0;var a=this.Models.length;for(var b=1;0<a;b++){if(0<this.Models[b].CFModels.length){c+=this.Models[b].CFModels.length}else{c+=1}}},clone:function(){var a=new SearchMake(this.MakeId);a.addModels(this.Models);
a.IsAllModels=this.IsAllModels;Sys.Debug.assert(this!==a,"SearchMake: New and Cloned are equal!");return a}};SearchModel=function(a){this.Model=(null!=a.Model)?a.Model:a;this.CFModels=[];if(a&&a.CFModels){this.addCFModels(a.CFModels)}};SearchModel.prototype={addCFModel:function(c){var d=(null!=c.CFModelName)?c.CFModelName:c;if(null!=c&&""!=d){var a=this.CFModels.length;var e=false;for(var b=0;b<a;b++){if(this.CFModels[b].CFModelName==d){e=true;if(c.Trims){this.CFModels[b].addTrims(c.Trims)}c=this.CFModels[b];
break}}if(!e){if(null!=c.CFModelName){this.CFModels.push((c.clone)?c.clone():new SearchCFModel(c))}else{c=new SearchCFModel(c);this.CFModels.push(c)}}}return c},addCFModels:function(c){var b=c.length;for(var a=0;a<b;a++){this.addCFModel(c[a])}},removeCFModel:function(c){var e=(null!=c.CFModelName)?c.CFModelName:c;var a=this.CFModels.length;var d=[];for(var b=0;b<a;b++){if(this.CFModels[b].CFModelName!=e){d.push(this.CFModels[b])}}this.CFModels=d;return this},findCFModel:function(c){var d=(null!=c.CFModelName)?c.CFModelName:c;
if(null!=c&&""!=d){var a=this.CFModels.length;var e=false;for(var b=0;b<a;b++){if(this.CFModels[b].CFModelName==d){e=true;c=this.CFModels[b];break}}}return(e)?c:null},clearCFModels:function(){this.CFModels=[]},clone:function(){var a=new SearchModel(this.Model);a.addCFModels(this.CFModels);Sys.Debug.assert(this!==a,"SearchModel: New and Cloned are equal!");return a}};SearchCFModel=function(a){this.CFModelName=(null!=a.CFModelName)?a.CFModelName:a;this.Trims=[];if(a&&a.Trims){this.addTrims(a.Trims)
}};SearchCFModel.prototype={addTrim:function(d){if(null!=d&&""!=d){var b=this.Trims.length;var c=false;for(var a=0;a<b;a++){if(this.Trims[a]==d){c=true;break}}if(!c){this.Trims.push(d)}}return d},addTrims:function(c){var b=c.length;for(var a=0;a<b;a++){this.addTrim(c[a])}},removeTrim:function(d){var b=this.Trims.length;var c=[];for(var a=0;a<b;a++){if(this.Trims[a]!=d){c.push(this.Trims[a])}}this.Trims=c;return this},clone:function(){var a=new SearchCFModel(this.CFModelName);a.addTrims(this.Trims);
Sys.Debug.assert(this!==a,"SearchCFModel: New and Cloned are equal!");return a}};
