﻿var filterList = new Array();
var showAll = false;

Array.prototype._join=function(sDelimiter, iStartIndex, iEndIndex){
	if(!sDelimiter) sDelimiter=', ';

	if(!iStartIndex) iStartIndex=0;
	else iStartIndex=Math.max(0, iStartIndex);

	if(!iEndIndex) iEndIndex=this.length-1;
	else iEndIndex=Math.min(iEndIndex, this.length-1);

	var sReturn='';
	for(var i=iStartIndex; i<iEndIndex; i++)
		sReturn+=this[i]+sDelimiter;

	if(this[iEndIndex]) sReturn+=this[iEndIndex];
	return sReturn;
};


Array.prototype.add=function(Value){
	this[this.length]=Value;
};

Array.prototype.inArray=function(sValue){
	for(var i=0; i<this.length; i++){
		if(this[i]==sValue) return true;
	}
	return false;
};

Number.prototype.between=function(iStart, iEnd, bNoInclude){
	var iVal=this.valueOf();
	if(bNoInclude)
		return ( iVal > iStart && iVal < iEnd );
	else
		return ( iVal >= iStart && iVal <= iEnd );
};

function switchClass(objNode, strCurrClass, strNewClass, boolDoSwitch) {
	if ( boolDoSwitch && objNode.className.indexOf(strNewClass) >= 0 )
		objNode.className = objNode.className.replace(strNewClass, strCurrClass);
	else
		objNode.className = objNode.className.replace(strCurrClass, strNewClass);
}

function addClass(objNode, strNewClass) {
	if ( objNode.className.indexOf(strNewClass) < 0 ) objNode.className += ' ' + strNewClass;
}

function PointsClass(){}
//PointsClass.prototype=new Array;
PointsClass.prototype.length=0;

PointsClass.prototype.add=function(iID, iKind, sName){
	this[this.length]={id: iID, kind: iKind, name: sName};
	this.length++;
};

PointsClass.prototype.getByID=function(iID){
	for(var i=0; i<this.length; i++){
		if(this[i].id == iID)
			return this[i];
	}
};

function TypesClass(){}
//TypesClass.prototype=new Array();
TypesClass.prototype.length=0;

TypesClass.prototype.add=function(iID, sName, sPlural, iCount){
	this[this.length]={id: iID, name: sName, plural: sPlural, count: iCount};
	this.length++;
};

TypesClass.prototype.toString=function(iKind){
	if(!iKind) iKind=0;
	var aResult=[];

	for(var i=0; i<this.length; i++){
		//if((this[i].id&iKind) == this[i].id)
		if(iKind == this[i].id)
			aResult.add( (aResult.length) ? this[i].name.toLowerCase() : this[i].name );
	}

	return aResult._join();
};

function BranchesClass(){}
//BranchesClass.prototype=new Array();
BranchesClass.prototype.length=0;

BranchesClass.prototype.add=function(iBranchID, iKind, iPoint, sAddress, sUrl, sName, feature_7, feature_8, feature_9, feature_10, feature_11, feature_12, feature_13, feature_16, rating, voters_count,rating_hide, feature_15, feature_17, feature_20, work_time, feature_21, feature_22, traffic){
	//смотрим, какие типы у нашего бранча
	var sTypes=aTypes.toString(iKind);
	this[this.length]={iBranchID : iBranchID, kind: iKind, point: iPoint, address: sAddress, url: sUrl, name: sName, types: sTypes, feature_7: feature_7, feature_8: feature_8, feature_9: feature_9, feature_10: feature_10, feature_11: feature_11, feature_12: feature_12, feature_13: feature_13, feature_16: feature_16, rating: rating, voters_count: voters_count, rating_hide: rating_hide, feature_15: feature_15, feature_17: feature_17, feature_20: feature_20, work_time: work_time, traffic: traffic, feature_21: feature_21, feature_22: feature_22 };
	this.length++;
};

BranchesClass.prototype.count=function(iKind, iPoint){
	var iCount=0;
	if(!iKind) iKind=0;
	if(!iPoint) iPoint=0;
	for(i=0; i<this.length; i++){
		if((  (this[i].kind&iKind) == iKind  ) && ( !iPoint || (this[i].point == iPoint) )  )
			iCount++;
	}
	return iCount;
};

//---------------------------------//

function fnOutputPoints(iFilter){
	var oContainer;
	if(oContainer = document.getElementById('cPoints')){
		if(bIsMoscow){ //в Москве просто скрываем точки
			var elemNodes=oContainer.getElementsByTagName('a');
			var sVisible;
			for(var i=0; i < elemNodes.length; i++){
				//sVisible=((aPoints[i].kind&iFilter) == iFilter ) ? 'visible' : 'hidden';
				if( isNaN(aPoints[i].kind) && iFilter !=0){
					sVisible='hidden';

						var found;
						for(var x=0; x<filterList.length; x++){
							found = false;
							for(var j=0; j < aPoints[i].kind.length; j++){
								if(aPoints[i].kind[j] == filterList[x]){
									found = true;
								}
								if (filterList[x] == 21 && aPoints[i].kind[j] == 15) {
									found = true;
								}
							}
							if(!found)
							{
								break;
							}
						}
						if(found){
							sVisible = 'visible';
						}

				} else {
					sVisible=(aPoints[i].kind == iFilter | iFilter ==0 ) ? 'visible' : 'hidden';
				}

				elemNodes.item(i).style.visibility=sVisible;
			}
		}
		else{
			oContainer.innerHTML='';
			for(var i=0; i < aPoints.length; i++){
				//if((aPoints[i].kind&iFilter) == iFilter )
				if(aPoints[i].kind == iFilter | iFilter ==0 )
					oContainer.innerHTML+='<div class="Branch"><a href="./?PointID='+ aPoints[i].id +'" onclick="return fnSwapPoint('+aPoints[i].id+')">'+ aPoints[i].name +'</a></div>';
			}
		}
	}
}

function fnOutputBranches(iFilter, iPoint, iPage){
	if(!iFilter) iFilter=0;
	if(!iPoint) iPoint=0;

	var oContainer, oBranch;
	var aMyBranches=[];
	var bAllow=false;
	if(iFilter || iPoint){
		for(var i=0; i < aBranches.length; i++){
			oBranch=aBranches[i];
			//bAllow=((iFilter&oBranch.kind) == iFilter);
			if( isNaN(oBranch.kind)){
				bAllow=false;
				var found = false;

				for(var x=0; x < filterList.length; x++)
				{
					found = false;
					for(var j=0; j < oBranch.kind.length; j++){
						if(oBranch.kind[j] == filterList[x]){
							found = true;
						}
						if (filterList[x] == 21 && oBranch.kind[j] == 15) {
							found = true;
						}
					}
					if(!found)
						break;
				}
				if(found)
					bAllow = true;

			} else {

				var found = false;
				/*for(var x=0; x < filterList.length; x++)
				{
					if(oBranch.kind == filterList[x])
						found = true;
					if(!found)
						break;
				}
				if(filterList.length == 0 || found)
					bAllow = true;*/
				bAllow = false;
			}

			if(iPoint) bAllow=(bAllow || filterList.length==0)&&(iPoint == oBranch.point);

			if(bAllow) aMyBranches.add(oBranch);
		}
	}
	else{
		aMyBranches=aBranches;
	}

	//pages
	iTotalPages=Math.ceil(aMyBranches.length/iItemsPerPage);
	if(!iPage) iPage=1;
	//fnMakePages(aMyBranches.length);


	if(oContainer=document.getElementById('cBranches')){
		var sResult='<div class="clear"></div><div class="table-data-support"></div><table border="0" cellpadding="0" cellspacing="0" class="BranchList '+(typeof _isDirectPointsList != 'undefined' && _isDirectPointsList?'DirectPointsList':'')+'">';


		var iOldItemsPerPage = iItemsPerPage;
		if(showAll){
			iItemsPerPage = aMyBranches.length;
			iPage = 1;
		}

		var _is = false;
		var _show_traffic = typeof iCityID != 'undefined' && iCityID == 21 ? true : false;

		for(var i=( (iPage-1)*iItemsPerPage ); i < Math.min(aMyBranches.length, iPage*iItemsPerPage); i++){
			if (!_is && _show_traffic) {
				_is = true;

				sResult += '<tr class="table-title"><td></td><td></td><td></td><td>Среднее время обслуживания</td><td>Кол-во человек в&nbsp;очереди</td><td>Среднее время ожидания</td></tr>';
			}
			if (!_is && typeof _isDirectPointsList != 'undefined' && _isDirectPointsList) {
				_is = true;
				sResult += '<tr class="table-title"><td>Название</td><td>Адрес</td><td>Время работы</td></tr>';
			}
			oBranch = aMyBranches[i];
			sResult+='<tr>';
			var _url = (typeof _isDirectPointsList == "undefined" || !_isDirectPointsList) ? '<a href="'+oBranch.url+'">' + oBranch.name + '</a>' : oBranch.name;
			var _wtime = (typeof _isDirectPointsList == "undefined" || !_isDirectPointsList) ? '<br /><small>'+oBranch.work_time+'</small>' : '';
			sResult+='<td class="name"><div'+((oBranch.place == 1) ? ' class="auto"' : '')+'>'+_url+_wtime+'</div></td>';
			//if(bIsMoscow){
				sResult+='<td class="address">';
				if(oBranch.maplink != '')
					//sResult+='<a href="'+oBranch.maplink+'">'+oBranch.address+'</a>';
					sResult+=oBranch.address;
				else
					sResult+=oBranch.address;

				if(oBranch.feature_20 == '1'){
					sResult += '<img src="/f/1/i/is-in-evroset.png"  height="16" border="0" />';
				}

				if(oBranch.feature_15 == '1'){
					sResult += '<p class="jury">(Отделение для корпоративных клиентов)</p>';
				}
				if(oBranch.feature_21 == '1'){
					sResult += '<p class="jury">(Отделение для предпринимателей, среднего и&#160;малого бизнеса)</p>';
				}

				sResult+='</td>';
			//}
			if (typeof _isDirectPointsList != 'undefined' && _isDirectPointsList) {
				var _wt = oBranch.work_time ? oBranch.work_time.toString().replace(/<div.*\/div>/g, '') : '11:00&ndash;20:00';
				sResult += '<td class="work-time">'+_wt+'</td>';
			}
			/*
			sResult+='<td class="icons">';
			if(oBranch.feature_7 == '1')
				sResult+='<img src="/f/1/i/is-seif-sm.gif" width="21" height="15" alt="Аренда индивидуальных банковских сейфов"/>';
			if(oBranch.feature_8 == '1')
				sResult+='<img src="/f/1/i/is-uchk-sm.gif" width="18" height="18" alt="В отделении работают инвестиционные консультанты"/>';
			if(oBranch.feature_9 == '1')
				sResult+='<img src="/f/1/i/is-uchk-sm.gif" width="18" height="18" alt="Офис формата мини (МФО)"/>';
			if(oBranch.feature_10 == '1')
				sResult+='<img src="/f/1/i/is-vip-sm.gif" width="22" height="18" alt="В отделении имеется зал для обслуживания участников программы «VIP-клиент»"/>';
			if(oBranch.feature_11 == '1')
				sResult+='<img src="/f/1/i/is-wu-sm.gif" width="41" height="15" alt="В отделении осуществляются переводы по системе Western Union"/>';
			if(oBranch.feature_12 == '1')
				sResult+='<img src="/f/1/i/is-vip-only-sm.gif" width="20" height="16" alt="&laquo;А-КЛУБ&raquo; &mdash; элитное банковское обслуживание"/>';
			if(oBranch.feature_13 == '1')
				sResult+='<img src="/f/1/i/is-uchk-sm.gif" width="18" height="18" alt="Агентский пункт по размещению и выкупу паев"/>';
			if(oBranch.feature_16 == '1')
				sResult+='<img src="/f/1/i/is-autocred-sm.gif" width="51" height="15" alt="Оформление автокредита" />';
			if(oBranch.feature_17 == '1')
				sResult+='<img src="/f/1/i/is-vip-manager-sm.gif" width="24" height="19" alt="Отделения с VIP-менеджером "/>';
			if(oBranch.feature_18 == '1')
				sResult+='<img src="/f/1/i/is_forinvalid.jpg" width="19" height="19" alt="Приспособлено для обслуживания инвалидов "/>';

			//if((8 & oBranch.kind) == 8)
			//	sResult+='<img src="/f/1/global/is-7days-sm.gif" width="28" height="17" alt="Отделение работает 7 дней в неделю"/>';

			sResult+='</td>';
			*/
			sResult+='<td class="rating">';

			if(oBranch.rating_hide == 0){
				sResult+='<div class="rating">';
				sResult+=drawStars(oBranch.rating);
				// _fillAvgRating(oBranch.iBranchID, oBranch.voters_count) - Использовалась для того что бы склонять существительное.
				sResult+='<div class="'+ ((oBranch.voters_count > 0) ? 'voters_count' : 'voters_count_empty') +'"><a onclick="cmnPopup( this.href, \'evaluate\', \'width=670,height=600,status=no\'); return false;" href="/retail/client/'+ ((oBranch.feature_15 == '1' || oBranch.feature_21 == '1') ? 'form_reg' : 'form') +'/?city_id='+ (window.iCityID ? window.iCityID : window.cityId) +'&branch_id='+ oBranch.iBranchID +'">Оценить</a> <span>'+ oBranch.voters_count +'</span></div>';
				sResult+='</div>';
			}
			if (_show_traffic) {
				if (oBranch.traffic && (oBranch.traffic.queue >> 0)) {
					sResult+='</td><td class="traffic">'+(oBranch.traffic ? oBranch.traffic.avg_wait : '')+'</td><td class="traffic">'+(oBranch.traffic ? oBranch.traffic.queue : '')+'</td><td class="traffic">'+(oBranch.traffic ? oBranch.traffic.wait : '')+'</td></tr>';
				} else {
					sResult+='</td><td class="traffic"></td><td class="traffic"></td><td class="traffic"></td></tr>';
				}
				
			} else {
				sResult += '</td></tr>';
			}
		}
		if(showAll){
			iPage = -1;
			iItemsPerPage = iOldItemsPerPage;
		}

		sResult+='</table><div class="clear"></div>';
		oContainer.innerHTML=sResult;
	}
}

function drawStars( rating ){
	var code = '';

	for(i=1; i <= rating; i++){
		code += '<img src="/f/1/i/i-star-'+ i +'.gif" />';
	}
	if(rating >= (i-0.5)){
		code += '<img src="/f/1/i/i-star-'+ i +'h.gif" />';
	}

	return(code);
}

function _fillAvgRating(voters)
{
	var lastVotersDigit = voters.toString().substring(voters.toString().length-1);
	var sFinal = '';

	if(voters == 1){
		return voters + ' человек';
	}else{
		if(voters >= 10 && voters <= 20){
			sFinal = '';
		}else{
			if(lastVotersDigit >= 2 && lastVotersDigit <= 4){
				sFinal = 'а';
			}
		}
		return voters + ' человек' + sFinal;
	}
}

function fnSwapBranchFilter(iFilter){
	if(iFilter == 0)
		clearFilters();
	else
		addOrRemoveFilter(iFilter);

	var aMatches;
	var elemItems=document.getElementById('FilterItems').getElementsByTagName('div');
	for(var i=0; i < elemItems.length; i++)
		switchClass(elemItems[i], 'current_clickable', '');

	var oRef;
	var oAll=document.getElementById('All');
	var oSubFilter=document.getElementById('SubFilter');

	var found = false;
	for(var i=0; i<filterList.length; i++)
	{
		if(oRef = document.getElementById('F'+filterList[i])){
			addClass(oRef, 'current_clickable');
			addClass(oAll, 'up-level');
			addHref(oAll, './', 'onclick="return fnSwapBranchFilter(0)"');
			if(iPointsFilter)
				oSubFilter.style.visibility='visible';
			found = true;
		}
	}

	if(!found){
		switchClass(oAll, 'up-level', '');
		removeHref(oAll);
	}

	if(filterList.length == 0)
		iFilter = 0;

	iTypesFilter = Number(iFilter);
	fnApplyFilter();
	if (typeof filterMapByFeatures == 'function') {
		filterMapByFeatures();
	}
	return false;
}


function fnSwapTab(oRef){
	var oBookmarks;
	if(oBookmarks=document.getElementById('Bookmarks')){
		var elemItems=oBookmarks.getElementsByTagName('a');
		if(!oRef) oRef=elemItems.item(0);
		var sRefID=fnGetFor(oRef.className);

		var oBody, sID;
		for(var i=0; i < elemItems.length; i++){
			switchClass(elemItems[i], 'active', '');
			sID=fnGetFor(elemItems[i].className);
			if(oBody = document.getElementById(sID))
				oBody.style.display='none';
			if(sID == sRefID)
				iCurrentView=i;
		}

		addClass(oRef, 'active');

		if(oBody = document.getElementById(sRefID))
			oBody.style.display='block';
	}
	fnApplyFilter();
	return false;
}

function fnSwapPoint(iPoint){
	iPointsFilter=Number(iPoint);

	var oBookmarks;
	if(oBookmarks = document.getElementById('Bookmarks')){
		if(iPointsFilter){ //мы в конкретной точке - прячем закладки
			fnSwapTab(oBookmarks.getElementsByTagName('a')[1]);
			oBookmarks.style.visibility="hidden";
			iCurrentView=1;
			fnRebuildFilters();
			//покажем, где мы сейчас находимся
			var oPoint=aPoints.getByID(iPoint);
			var oSubFilter=document.getElementById('SubFilter');
			oSubFilter.innerHTML=oPoint.name;
			oSubFilter.style.visibility='visible';

			var oCurrentCity=document.getElementById('CurrentCity');
			if(oCurrentCity){
				addHref(oCurrentCity, './', 'onclick="return ResetFilter()"');
				switchClass(oCurrentCity, 'current', 'up-level');
			}

		}
		else{ //сбрасываем фильтр
			oBookmarks.style.visibility="visible";
			iCurrentView=0;
		}
	}

	fnApplyFilter();
	return false;
}

function fnApplyFilter(){
	switch(iCurrentView){
		case 0:
			fnOutputPoints(iTypesFilter);
			fnMakePages();
			break;
		case 1:
			fnOutputBranches(iTypesFilter, iPointsFilter);
			fnMakePages(iTotalPages);
			break;
	}
}

function fnRebuildFilters(){
	var iKind=0;
	//получаем типы, соответствующие данной точке
	for(var i=0; i < aPoints.length; i++){
		if(aPoints[i].id == iPointsFilter){
			iKind=aPoints[i].kind;
			break;
		}
	}
	RebuildFiltersForKind(iKind);
}

function RebuildFiltersForKind(iKind){
	var oContainer;
	if(oContainer = document.getElementById('FilterItems')){
		var bEnabled;
		var oHref, oSpan, oSmall;
		var iObjects;
		var oAll=document.getElementById('All');
		//спрячем те ноды, которые не соответствуют нашему фильтру
		for(var i=0; i < aTypes.length; i++){
			oType=aTypes[i];
			bEnabled=(oType.count) ? true : false;
			if(oHref=document.getElementById('F'+oType.id)){
				oSpan=oHref.getElementsByTagName('span').item(0);
				oSmall=oHref.getElementsByTagName('small').item(0);
				if(bEnabled){
					//iObjects=aBranches.count(oType.id, iPointsFilter);
					iObjects=oType.count;
					oSpan.innerHTML=(iObjects > 1) ? oType.plural : oType.name;
					switchClass(oSpan, 'disabled', '');
					addHref(oSpan, './', 'onclick="return fnSwapBranchFilter('+oType.id+')"');
					oSmall.innerHTML= '(' + iObjects + ')';
				}
				else{
					removeHref(oSpan);
					addClass(oSpan, 'disabled');
					oSmall.innerHTML='';
				}
			}
		}
	}
}

function ResetFilter(iDryRun){

	if(iDryRun != null){
		var oBookmarks, oTabs;
		if(oBookmarks=document.getElementById("Bookmarks")){
			oTabs=oBookmarks.getElementsByTagName('a');
			if(oTabs[iCurrentView]) fnSwapTab(oTabs[iCurrentView]);
		}


	}

	var oSubFilter=document.getElementById('SubFilter');
	oSubFilter.innerHTML='&nbsp;';
	oSubFilter.style.visibility='hidden';

	var oCurrentCity=document.getElementById('CurrentCity');
	if(oCurrentCity){
		removeHref(oCurrentCity);
		switchClass(oCurrentCity, 'up-level', 'current');
	}

	var iKind=0;
	for(var i=0; i<aTypes.length; i++){
		iKind|=aTypes[i].id;
	}

	if(iPointsFilter){
		fnSwapTab();
		fnSwapPoint(0);
	}
	else{
		fnApplyFilter();
	}

	RebuildFiltersForKind(iKind);

	return false;
}

function fnMakePages(iPages){
	var oPager, oSpan, oHref;
	iTotalPages=iPages;

	iCurrentPage=1;
	drawPaginator(iPages);
}

/*function fnGoToPage(iPage){
	//alert('Going to page '+iPage);
	if(iPage && iPage <= iTotalPages){
		var oPager, oSpanCol;
		if(oPager=document.getElementById("Pager")){
			oSpanCol=oPager.getElementsByTagName('span');
			if(oSpanCol.length){
				if(oSpanCol[iCurrentPage]) addHref(oSpanCol[iCurrentPage], './', 'onclick="return fnGoToPage('+iCurrentPage+')"');
				if(oSpanCol[iPage]) removeHref(oSpanCol[iPage]);
				iCurrentPage=iPage;
				fnOutputBranches(iTypesFilter, iPointsFilter, iCurrentPage);
			}
		}
	}
	return false;
}*/

function fnGoToPage(iPage){
	if(iPage && iPage <= iTotalPages){
		showAll = false;
		iCurrentPage=iPage;
		fnOutputBranches(iTypesFilter, iPointsFilter, iCurrentPage);
		drawPaginator();
	}

	return false;
}

function drawPaginator(iPages)
{
	if(!iPages){
		iPages = $('#Pager span').length-2;
	}
	if(showAll)
		iCurrentPage = -1;

	$('#Pager').html('<br />');

	showAll = true;
	return;
	if(iPages > 1){
		$('#Pager').append('<span>Страницы: </span>');
		for(var i=0; i<iPages; i++){
			if((i+1) == iCurrentPage)
				$('#Pager').append('<span>'+(i+1)+'</span>');
			else
				$('#Pager').append('<span><a href="./" onclick="return fnGoToPage('+(i+1)+')">'+(i+1)+'</a></span>');
		}

		if(iCurrentPage == -1)
			$('#Pager').append('<span>Все</span>');
		else
			$('#Pager').append('<span><a href="./" onclick="fnShowAllPages(); return false;">Все</a></span>');
	}

}

function fnShowAllPages()
{
	showAll = true;
	iCurrentPage = -1;
	fnOutputBranches(iTypesFilter, iPointsFilter, iCurrentPage);
	drawPaginator();
}

function fnGetFor(sName){
	var aFound;
	if(aFound = sName.match(/for\-(\w+)/))
		return aFound[1];
	else
		return '';
}

function addHref(oContainer, sHref, sAttrs){
	if(oContainer){
		var elemNodes=oContainer.getElementsByTagName('a');
		if(!elemNodes.length){
			sAttrs = (!sAttrs) ? '' : ' '+sAttrs;
			var sData=oContainer.innerHTML;
			oContainer.innerHTML='<a href="'+sHref+'"'+sAttrs+'>'+sData+'</a>';
		}
	}
}

function removeHref(oContainer){
	if(oContainer){
		var elemNodes=oContainer.getElementsByTagName('a');
		if(elemNodes.length){
			oContainer.innerHTML=elemNodes.item(0).innerHTML;
		}
	}
}

var aTypes=new TypesClass(); //типы офисов
var aPoints=new PointsClass(); //метро или ж/д станции
var aBranches=new BranchesClass(); //отделения
var aBranchesAll = new BranchesClass(); // to fix js error

var iCurrentView=0; //0 - список метро, 1 - список отделений
var iCurrentPage=1; //текущая страница
var iTotalPages=0;
var iItemsPerPage=10; //кол-во адресов в списке на одной странице

var iPointsFilter=0; //текущий фильтр по метро
var iTypesFilter=0; //текущий фильтр по типам
var bIsMoscow=0; //находимся в Москве

function addOrRemoveFilter ( iFilter )
{
	if(!filterContrains(iFilter))
		filterList.push(iFilter);
	else
		removeFilter(iFilter);
}

function removeFilter( iFilter )
{
	var filterListNew = new Array();

	for(i=0; i<filterList.length; i++)
		if(filterList[i] != iFilter)
			filterListNew.push(filterList[i]);

	filterList = filterListNew;
}

function addFilter( iFilter )
{
	if(!filterContrains(iFilter))
		filterList.push(iFilter);
}

function clearFilters()
{
	filterList = new Array();
}

function filterContrains( iFilter )
{
	for(i=0; i<filterList.length; i++)
		if(filterList[i] == iFilter)
			return true;

	return false;
}

