// function to execute after data is returned and dom is ready
function populateFinder() {

	// set default label value
	var label = '';
	
	if(cat_id) {	
		var label = BP.getCategoryInfoFromStore(cat_id);
	}
	else if(cat_name) {
		var label = BP.getCategoryInfoFromStoreByWebname(cat_name);
	}
	
	if(man_id || man_name) {
		var label = {};
		label.name = BP.data.stores.productsStore[0]["productmanufacturer_name"];
	}
	  
	jQuery(document).ready(function($) {      
		// remove any highlights from top nav
		jQuery('ul#nav li').removeClass('selected');
	
		// category nav		
		var selectedCatLink = jQuery('#categoriesTpl').tmpl(BP.data.stores.categoriesStore, {
			categoryLink: BP.fm.categoryLink
		}).appendTo('ul.list1').parent().find('li#catid-'+cat_id);
		
		// insert current category name, chopping off counter parens
		var catTitle = selectedCatLink.find('a').first().text();
		var catRegEx = new RegExp(" \\(.*\\)$");
		jQuery('div.categorytitle').html(catTitle.replace(catRegEx, ''));
			
		// expand category menu for all parents and first child
		selectedCatLink.children('div.sublinks').show();
		selectedCatLink.parents('div.sublinks').show();
				
		// products list
		jQuery('#productsListTpl').tmpl(BP.data.stores.productsStore, {
			manufacturerLink: BP.fm.manufacturerLink,
			productLink: BP.fm.productLink,
			productImg: BP.fm.productImg
		}).appendTo('div#catprodlist ul');
		
		// pagination code
		// only display pages if we have more than 50 items
		if(BP.data.productsMeta.results > 50) {
			jQuery('div.pagination').pglite({
				page_url: '/finder.html?category_name=' + cat_name + '&category_id=' + cat_id,
				display_pages:5,
				max_results:50,
				start_index:BP.data.productsMeta.start,
				total_results: BP.data.productsMeta.results
			});		
		} else {
			jQuery('div.pagination').remove();
		}
		
	});
}

// start loading data
BP.fetch.getCategories();
var cat_id = jQuery.url.param("category_id");
var cat_name = jQuery.url.param("category_name");

var man_id = jQuery.url.param("manufacturer_id");
var man_name = jQuery.url.param("man_name");

var params = jQuery.url.attr("query");
params += '&limit=50&image_width=175&image_quantity=single&total_flag=1';

if(cat_id) {
	BP.fetch.getFinderProducts(params, populateFinder);
}
else if(cat_name) {
	BP.fetch.getCategoryProducts(params, populateFinder);
}
else if(man_name) {
	BP.fetch.getManufacturerProducts(params, populateFinder);
}
else {
	BP.fetch.getFinderProducts(params, populateFinder);
}
