
function getConstraints(el) {
	var constraints = [];
			
	$('#' + el + ' input:radio:checked').each(function() {
		constraints.push($(this).val());
	});
		    
	$('#' + el + ' input:checkbox:checked').each(function() {
		constraints.push($(this).val());
	});

	$('#' + el + ' .slider').each(function() {
		var id = $(this).attr('id');
		var min = $(this).slider("values", 0);
		var max = $(this).slider("values", 1);

		if (min != 0 || max != 2000) {				
			var str = id + ':[' + min +' TO ' + max + ']';
				constraints.push( str );
		}
	});
		    
	// Get all daily value constraints
	$('#' + el + ' .dv').each(function() {
		var id = $(this).attr("id");
		var value = $(this).val();
		if (value && !isNaN(value)) {
			var str = id + ':[0 TO ' + value + ']';
			constraints.push( str );
		}
	});		    
	return constraints.join(" AND ");			
}
		
function doSearch(form) {
	var c1 = getConstraints("preferences");
	var c2 = getConstraints("filter-content");
	var constraints = c2;
	if (c1 && c2) 
		constraints = c1 + " AND " + c2;
	else if (c1) 
		constraints = c1;
			
	var hiddenElem = $("#" + form + " input:hidden[name*=constraints]");
	if (constraints) 
		hiddenElem.val(constraints);
	else 
		hiddenElem.remove();

	$("#" + form).submit();
}	    

$(document).ready(function() {
    $("#search-button").click(function(e) {
    	doSearch("search-form");
        return false;
    });	
    
	$('#adv-filter').dialog({
	    title: "Filter Search Results",
		autoOpen: false,
		draggable: false,
		height: 400,
		width: 650,
		modal: true,
		buttons: {'Search': function() {
					doSearch("search-form1");
				  },
		          'Cancel': function() {
		          	$(this).dialog('close');
		          }}
	});	 

    $("#adv-search").click(function(e) {
    	$('#adv-filter').dialog('open');
    });    
    
    $("#tabs").tabs();
    $("#calories").slider({
       range: true,
       min: 0,
       step: 10,
       max: 4000,
       values: [0, 2000],
       slide: function(event, ui) {
           $("#calrange").html(ui.values[0] + ' to ' + ui.values[1] + " calories");
         }               
   });
   
   advFilters = {
        "fats": [
            ["Saturated Fat", "10002_np", "dv" ],
            ["Unsaturated Fat", "10003_np", "dv"],
            ["Trans Fat", "10004_np", "dv"],
            ["Mono Unsaturated Fatty Acids (MUFA)", "10006_np", "dv"],
            ["Poly Unsaturated Fatty Acids (PUFA)", "10005_np", "dv"],
            ["Cholesterol", "10101_np", "dv"],
            ["Omega 3 Fatty Acids", "10007", "cb-high"],
            ["Omega 6 Fatty Acids", "10008", "cb-high"],
            ["Omega 9 Fatty Acids", "10009", "cb-high"]
        ],
        "carbs": [
			["Carbohydrates", "10301_np", "dv"],
            ["Sugar", "10302_np", "dv"]
        ],
        "vitamins": [
            ["Vitamin A", "10510", "cb-high"],
            ["Vitamin B", "", "cb-high"],
            ["Vitamin B1 (Thiamin)", "10511", "cb-high"],
            ["Vitamin B2 (Riboflavin)", "10512", "cb-high"],
            ["Vitamin B3 (Niacin)", "10513", "cb-high"],
            ["Vitamin B5 (Pantothenic Acid)", "10515", "cb-high"],
            ["Vitamin B6 (Pyridoxine)", "10516", "cb-high"],
            ["Vitamin B7 (Biotin)", "10517", "cb-high"],
            ["Vitamin B8 (Inositol)", "10518", "cb-high"],
            ["Vitamin B9 (Folic Acid)", "10519", "cb-high"],
            ["Vitamin B10 (Pteroylmonoglutamic acid)", "10520", "cb-high"],
            ["Vitamin B12 (Cyanocobalamin)", "10522", "cb-high"],
            ["Vitamin C", "10530", "cb-high"],
            ["Vitamin E", "10550", "cb-high"],
            ["Vitamin K", "10570", "cb-high"]
        ],
        "minerals": [
            ["Calcium","10602", "cb-high"],
            ["Potassium","10612", "cb-high"],
            ["Phosphorous","10611", "cb-high"],
            ["Iron","10608", "cb-high"],
            ["Zinc","10615", "cb-high"],
            ["Copper","10605", "cb-high"],
            ["Magnesium","10608", "cb-high"],
            ["Manganese","10609", "cb-high"]
        ]  
    };
    
    function genRanges(id, data, desc) {
       var rootElem = $(id);
       var markup = "";
       for (var i = 0; i < data.length; i++) {
           var thisData = data[i];
           markup += '<div class="tabs-basic-item-250 attr">' + thisData[0] + '</div>';
           markup += '<div class="tabs-basic-item-250">  ';

           var elemId = thisData[1];

		   if (thisData[2] == "dv") {
			   $units = "%DV";
			   if (thisData[0] == "Sugar") 
				   $units = "gms";
			   markup += 'less than <input type="text" size="6" class="dv" maxlength="5" id="' + elemId + '"> ' + $units;
		   } else {
			   var val = elemId + "_ntag:high";
			   markup += '<input type="checkbox" id="' + elemId + '" value="' + val + '"> High'; 
		   }

		   markup += '</div>';                   
           markup += '<br class="tabs-basic-item-br"/>';
           markup += '<div class="tabs-basic-item-br"></div>';
       }
       rootElem.append(markup);            
    }
   
    genRanges("#tabs-fat", advFilters.fats);
    genRanges("#tabs-carb", advFilters.carbs);
    genRanges("#tabs-vit", advFilters.vitamins);
    genRanges("#tabs-min", advFilters.minerals);   
    
    
    $("#pref-no-fat").click(function(){
    	// no fat. disable form elements in fat tab
    	//alert("no fat");
    });

    $("#pref-low-fat").click(function(){
    	// no fat. disable form elements in fat tab
    	//alert("low fat");
    });       
   
    $(".suggest").click(function() {
        $("#keyword").val($(this).html().replace("&lt;","<"));
        return false;
    });
});

