Array.prototype.pushUnique = function( elem ) {
	if(this.indexOf(elem) < 0) {
		return this.push( elem );
	}
	return this.length;
};

Array.prototype.indexOf = function(elem) {
	var len = this.length;
	for( var i=0; i < len; i++ ) {
		if (elem === this[i]) {
			return i;
		}
	}
	return -1;
};

Array.prototype.union = function( arr ) {
	var newArr = this.concat([]);
	var len = arr.length;
	if( !len ) {
		return newArr;
	}
	for( var i=0; i < len; i++ ) {
		newArr.pushUnique(arr[i]);
	}
	return newArr;
};

Array.prototype.intersect = function( arr ) {
	var retArr = [];
	var len = this.length;
	if( !arr || !arr.length || !len) {
		return retArr;
	}

	for( var i=0; i < len; i++ ) {
		if( arr.indexOf(this[i]) >= 0 ) {
			retArr.push(this[i]);
		}
	}

	return retArr;
};



function ABSearch(){
	this.assetsByFeature = new Array();
	this.features = new Array();
}

ABSearch.prototype.addAsset = function(id, features){
	var i,key;
	for(i=0;i<features.length;i++){
		key = features[i];
		if(!this.assetsByFeature[key])
			this.assetsByFeature[key] = Array();
		this.assetsByFeature[key].push(id);
	}
}

ABSearch.prototype.addFeatures = function(features){
	this.features = features;
}

ABSearch.prototype.toggleFeature = function(feature){
	alert(feature.id);
		//this.features[feature.id] = true;
}

ABSearch.prototype.displayAssets = function(){

}

var search = new ABSearch();
