if(typeof(state) == "undefined")
	state = {};

var cfgPortlets = { pageSize: 4000, cookieExpire: 3000 };

function clickCategFN(strID) { 
	return function() {
		var hiddenCats = ":";
		$(".filter input").each(function (nr, element) {
			if(!element.checked) {
				hiddenCats += element.name+":";
			}
		});

		$("#"+strID + " .result li ").each(function(nr, element) {
			var strCategName = $(this).attr("colorkey1").replace(/^cat/,"");
			if(hiddenCats.indexOf(':'+strCategName+':') >= 0) 
				$(element).addClass("hide");
			else 
				$(element).removeClass("hide");
			
		});
		
		SaveBoxCategSettings(strID, hiddenCats);
	}
}

function InitCategoryBoxes()
{
	$(".category").each(function (nr, element) {
		
		var strState = state.categboxes[element.id];

		if(!!strState) 
			$(".filter input").each(function (nr, el) {
				if(strState.indexOf(':'+el.name+':') >= 0) {
					el.checked = false;
				}
			});
	});

	$(".category").each(function(nr, element) {
		$(".filter input").click(clickCategFN(element.id));
		clickCategFN(element.id)();
	});	
}
		

function LoadBoxCategSettings()
{

	if(!state.categboxes)
		state.categboxes = {};

	var strData = readPagedData("categ");
		
	if (strData != null) {
		var arrData = strData.split("|");

		for (var i in arrData) {
			var arrItem = arrData[i].split("=");
			var strKey = arrItem[0];
			var strValue = arrItem[1];
			state.categboxes[strKey] = strValue;
		}
	}
}

function SaveBoxCategSettings(strID, strHiddenCats)
{
	
		strState = "";
		
		if(!state.categboxes)
			state.categboxes = {};
			
		state.categboxes[strID] = strHiddenCats;
		
		for(var i in state.categboxes) {
			if(strState != "")
				strState += "|";
				
			strState += (i + "=" + state.categboxes[i]);
		}
		
		writePagedData("categ", strState);
}


	
