dsg.fn.searchResults = function(){
	
	var jAlert = $j("div.alert").hide();
	var jError = $j("div.caution").hide();
	var jForm = $j(".sort-bar form");
	var jSubmits = jForm.find("input, button");
	
	$j(function(){
		jAlert.add(jError).appendTo("#global-container");
	});
	
	var alertTimeOut = 0;
	
	$j("div.table-wrap td")
	.filter(".prd-description-features").each(function(){
		var jThis = $j(this);
		var jPanels = jThis.children("div").find("div").hide();
		var $tabs = jThis.find("p:first a");

		$tabs.click(function(e){
			e.preventDefault();
			var jElt = $j($j(this).attr("href"));
			$tabs.removeClass('active');
			if (jElt.is(":visible")){
				jPanels.hide();
			}
			else {
				jPanels.hide();
				jElt.show();
				$j(this).addClass('active');
			}
		});

	})
	.end().filter(".prd-check, .prd-select").each(function(){
		var jCheck = $j(this).find(":checkbox");
		var sCheck = jCheck.offset();
		
		jCheck.bind("update", function(){
			
			var checkedLength = $j("tbody").find(":checkbox:checked").length;
			
			// Warning
			if (checkedLength > 3) {
				sCheck = jCheck.offset();
				jAlert
					.css({
						position:"absolute",
						top : (sCheck.top - 7) + "px",
						left : (sCheck.left + 20) + "px"
					})
					.fadeIn(200, function(){
						window.clearTimeout(alertTimeOut);
						alertTimeOut = window.setTimeout(function(){
							jAlert.fadeOut(200);
						},3000);
					});
				jCheck.removeAttr("checked");
			
			// Disable form
			} else if (checkedLength < 2) {
			
				jForm
					.addClass("disabled")
					.submit(function(e){
						e.preventDefault();
					});
				jSubmits.click(function(){
					var jSubmit = $j(this);
					var sSubmit = jSubmit.offset();
					jError
						.css({position:"absolute", top : (sSubmit.top - 4) + "px", left : (sSubmit.left + 115) + "px"})
						.fadeIn(200);
				});
			// Enable form
			} else {
				jError.hide();
				jForm.unbind("submit").removeClass("disabled");
				jSubmits.unbind("click");
				jCheck.parent().removeClass("checked");
			}
			
			if (jCheck.is(":checked")) {
				jCheck.parent().addClass("checked");
			}
			
			if (checkedLength < 4) {
				jCheck.parent()[((jCheck.is(":checked"))? "addClass" : "removeClass" )]("checked");
			}
			
		}).click(function(e){
			e.stopPropagation();
			jCheck.trigger("update");
		}).attr("tabindex","-1").trigger("update")
			
		.parent().click(function(e){
			jAlert.hide();
			if (jCheck.is(":checked")) {
				jCheck.removeAttr("checked");
			} else {
				jCheck.attr("checked", "checked");
			}
			
			jCheck.trigger("update");
			
		}).focus(function(){
			$j(document).keyup(function(e){
				e.preventDefault();
				if (e.keyCode == 13 || e.keyCode == 32){
					jCheck.click().trigger("update");
				}
			});
		}).blur(function(){
			$j(document).unbind("keyup");
		})
		.attr("tabindex","0");
	});
};

//Unoptimized scripts made by dev, to clean and optimize

	//Delete an active criterion filter
	function delFilter(sFilterId) {
		oForm = document.getElementById('form-filter');
		document.getElementById('filter-id').value = sFilterId;
		oForm.submit();
	}
	
	//Set the start page number
	function setStartPage(iNbPage) {
		oForm = document.getElementById('form-startpage');
		document.getElementById('startpage').value = iNbPage;
		oForm.submit();
	}
	
	//Set order settings
	function setOrder(sOrderBy, sOrderDirection) {
		oForm = document.getElementById('form-order');
		document.getElementById('orderby').value = sOrderBy;
		document.getElementById('orderdirection').value = sOrderDirection;
		oForm.submit();
	}
	
	//Set the number of products to display per page
	function setNbProducts(iNbProd) {
		oForm = document.getElementById('form-nbproducts');
		document.getElementById('nbproducts').value = iNbProd;
		oForm.submit();
	}
	
	//Set the price range to use as filter
	function setPriceRange(oSelect) {
		sNewUrl = oSelect.options[oSelect.selectedIndex].value;
		if (sNewUrl != '') {
			window.location.replace(sNewUrl);
		}
	}
	
	//Set the brand to use as filter
	function setBrand(oSelect) {
		sNewUrl = oSelect.options[oSelect.selectedIndex].value;
		if (sNewUrl != '') {
			window.location.replace(sNewUrl);
		}
	}
	
	$j(function(){
		//Redirect user on change
		$j('#select-ucms, .select-criteria select, #select-more-brands, #select-price-range, .select-pagination').change(function(){
			$sUrl = $j(this).val();
			if ($j.trim($sUrl) != '') {
				window.location = $j(this).val();
			}
		});
	});