﻿function SearchModel() {
	
	this.zoekterm 		= "";
	this.filters 		= new Array();
	
} 

SearchModel.prototype.addFilter = function(id,value,isFilter){

	//Check if filter already exists
	var filterOptionExists= this.filterOptionExists(id,value,isFilter);
	//alert(id + " " + value + " " + filterExists);
	
	//Remove filters of same FILTERID
	this.filters = $.grep(this.filters,function(n,i){
			if (n.FILTERID!=id){
					return true;
				}else{
					return false;
				}
			});			
	
	//If value is not empty en filter didn't exist--> add filter else filter is removed..
	if (value!="" && !filterOptionExists){
		var filter = {"FILTERID": id,"FILTEROPTIONID": value,"ISFILTER":isFilter};
		this.filters.push(filter);
	}	
	

}

SearchModel.prototype.getSearchFilters = function(){
	return $.grep(this.filters,function(n,i){
			if (n.ISFILTER){
					return false;
				}else{
					return true;
				}
			});			

}



SearchModel.prototype.resetFilters = function(){

	var tempFilterList = $.grep(this.filters,function(n,i){
			if (n.reset){
					return false;
				}else{
					return true;
				}
			});			
	this.filters = tempFilterList;
}

SearchModel.prototype.filterOptionExists= function(filterid,filteroptionvalue,isFilter){

	var tempFilterList = $.grep(this.filters,function(n,i){
				
			if (n.FILTERID==filterid && n.FILTEROPTIONID==filteroptionvalue && n.ISFILTER==isFilter){
					return true;
				}else{
					return false;
				}
			});			
	return (tempFilterList.length>0);
	
}


SearchModel.prototype.filterExists= function(filterid,isFilter){

	var tempFilterList = $.grep(this.filters,function(n,i){
			if (n.FILTERID==filterid && n.ISFILTER==isFilter){
					return true;
				}else{
					return false;
				}
			});			
	return (tempFilterList.length>0);
	
}











