//
// create closure
//
(function($) {

    $.fn.filtersApplied = function(data, options) {

        // build main options before element iteration
	    var o = $.extend({}, $.fn.filtersApplied.defaults, options);

		// iterate and reformat each matched element
		return this.each(function() {
            
            // get a reference to the current matched element
			$this = $(this);
            $this.empty();

            allUnchecked = $("input[name^='filter_']:checkbox:not(:checked):not(input[id='filter_includeUnrated_0'])");

            if (allUnchecked.length > 0)
            {
                divHeader = $("<div class='filtersAppliedHeader'>");
                divHeader.append("Filters applied &gt;&gt;");
                $this.append(divHeader);

                ul = $('<ul class="filterCon">');

                // iterate over all the passed in data elements
                $.each(data.filters, function(i) {
                    // find out if any of the filters have been applied
                    filterName = data.filters[i].filterName;

                    // get all the unchecked checkboxes for each filter
                    unchecked = $("input[name^='filter_" + filterName + "']:checkbox:not(:checked)");

                    // if the number of unchecked checkboxes is greater than zero
                    // then add the filter applied indicator
                    if (unchecked.length > 0)
                    {
                        li = $("<li>");
                        li.append(data.filters[i].title + " ");

                        xLink = $("<a>");
                        xLink.append("X");
                        xLink.attr('href', "javascript: //");
                        xLink.data("filterName", filterName);
                        xLink.click(function() {$.fn.selectionFilter.toggleSelectDeselectAll($(this).data("filterName"));});

                        li.append(xLink);
                        ul.append(li);
                        $this.append(ul);
                    }
                });
            }
            else
            {
                $this.css('margin-bottom', '0px');
            }
        });
    }

    //
	// plugin defaults
	//
	$.fn.filtersApplied.defaults = {
		clickEvent: finderFiltersChanged
	};

})(jQuery); // end of closure
