﻿function GetDogodkiFilters() 
{
	var flts=[];
	for (var key in lngDict.vzrokDict)
	{
		var ok = false;
		if (lngDict.vzrokDict[key] != 3)
			ok = true;
		flts[flts.length]=new Ext.menu.CheckItem
    ({
    	id: key,
    	text: key,
    	checked: ok,
    	hideOnClick: false,
    	handler: function(item) { DogodkiFilterClicked(item.id, item) }
    })
  }
  return flts;
}

function GetDogodkiCatFilters() 
{
	var flts=[];
	for (var key in lngDict.catDict)
	{
		var ok = true;
		//if (lngDict.catDict[key] != 3)
		//	ok = true;
		flts[flts.length]=new Ext.menu.CheckItem
    ({
    	id: lngDict.catDict[key],
    	text: key,
    	checked: ok,
    	hideOnClick: false,
    	handler: function(item) { DogodkiFilterClicked(item.id, item) }
    })
  }
  return flts;
}

function GetDogodkiSorts()
{
 	var srts = [];
 	for (var key in lngDict.sortDict)
 	{
 		var ok = false;
 		if (srts.length==0)
 			ok = true;
 		srts[srts.length] = new Ext.menu.CheckItem
    ({
    	id: key,
    	text: key,
    	checked: ok,
    	hideOnClick: false,
    	group: 'evtSorts',
    	handler: function(item) { DogodkiSortClicked(item.id, item) }
    })
 	}
 	return srts;
}

function DogodkiFilterClicked(id, item)
{
	setTimeout(RMapFilterApply,0);
}
function RMapFilterApply()
{
	window.fltMgr = {};
	for (var f = 0; f < dogodkiFilterItems.length; f++)
	{
		if (dogodkiFilterItems[f].checked != true)
			window.fltMgr[lngDict.vzrokDict[dogodkiFilterItems[f].id]] = true;
	}
	window.fltCatMgr = null;
	for (var f = 0; f < dogodkiCatFilterItems.length; f++)
	{
		if (dogodkiCatFilterItems[f].checked != true)
		{
			if(window.fltCatMgr == null)
				window.fltCatMgr = {};
			window.fltCatMgr[dogodkiCatFilterItems[f].id] = true;
		}
	}
	if (map.layers["dogodki"] == null)
		return;

	var fltFunc = null;
//	if (Object.getKeyCount(fltMgr) > 0)
	if (Object.getKeyCount(fltMgr) > 0 || Object.getKeyCount(fltCatMgr) > 0)
		fltFunc = Delegate.create(this, RMapEvtFilterFunc)
	map.layers["dogodki"].getFeatureView().setFilter(fltFunc);
}
function DogodkiSortClicked(id, item)
{
	setTimeout(RMapSortApply, 0);
}
function RMapSortApply()
{
	if (map.layers["dogodki"] == null)
		return;

	var prop = null;
	for (var f=0; f<dogodkiSortItems.length; f++)
	{
		if (dogodkiSortItems[f].checked == true)
		{
			prop = lngDict.sortDict[dogodkiSortItems[f].id];
			break;
		}
	}
	if (prop == null)
	{
		map.layers["dogodki"].getFeatureView().setSort(null);
	}
	else
	{
		var dsc = true;
		if (prop == "updated")
			dsc = false;
		map.layers["dogodki"].getFeatureView().setSortByProperty(prop, dsc);
	}
}

function RMapEvtFilterFunc(feature)
{
	var vzrok = lngDict.lng=="EN" ? feature.properties['vzrokEn'] : feature.properties['vzrok'];
	vzrok=lngDict.vzrokDict[vzrok];			
	
	if(vzrok!=null && window.fltMgr[vzrok]==true)
		return false;
	if(window.fltCatMgr!=null)
	{
		var c=feature.properties['kategorija'];
		c=(c!=null && c.length>0) ? c.substring(0,1) : " ";
		c=(c=="A" || c=="H") ? "AC": "DC";
		return !window.fltCatMgr[c]==true;
	}
	
	return true;		
}

