// JavaScript Document
<!--
// this sets the display either to list a limit or all of the categories returned in results
function toggleListAllCategories(){
	catPagesSize = catPagesSize == categoryListDs.getRowCount()? maxCatPageSize : categoryListDs.getRowCount();
	categoryPagingDs.setPageSize(catPagesSize);
	Spry.Data.updateRegion('categoryListingRegion');
}
/*function getPrevCat(rowNum){
	row = categoryListDs.getRowByRowNumber((rowNum)-1, true);
	return row['@name'];
}*/
// this filters whoever by category
function setFilterByCategory(id){
	filterParams = 'cat='+id; // set the category
	if(filterNotifier) filterNotifier.notifyObservers("getByFilter",filterParams);
}
var categoryType = (categoryDefaultType != null)? categoryDefaultType : false; // set via your settings file via categoryDefaultType
var catPagesSize = maxCatPageSize; // sets the size of the listing for categories.
var getCatURL = "includes/widgets/category/fetch_categories_com.php?search=true"+(categoryType != null? '&'+categoryType : ''); // get categories url. If there is a type of category to list set it.
// init widget
var categoryListDs = new Spry.Data.XMLDataSet(getCatURL, "feed/entry/ts:category");
var categoryPagingDs = new Spry.Data.PagedView(categoryListDs, { pageSize: catPagesSize });
var subCategoryListDs = new Spry.Data.NestedXMLDataSet(categoryPagingDs, "ts:subcategory");
var categoryPagingDsInfo = categoryPagingDs.getPagingInfo();
var catObserver = {};
catObserver.onCurrentRowChanged = setFilterByCategory;
Spry.Data.Region.addObserver("categoryListingRegion", catObserver);
var filterNotifier = filterNotifier? filterNotifier : new Spry.Utils.Notifier();
//-->