;(function($) {
		
	$.fn.recipefilter = function(options) {
		var settings = jQuery.extend(true, {}, $.fn.recipefilter.defaults, options);
		
		return this.each(function() {
			var $this = $(this); // this = .finder-menu
			var $content = $(".main");
			var $filters = $(".filter", $this);
			//var $reset = $("span.reset", $filters);
			//var $expand = $("body.work.home #work-filter span.token");
			var $submit = $("#search-btn", $this);
			
			var meal = "";
			var ingredient = "";
			var time = "";
			
			var baseURL = "search-results.aspx";
			
			var $dropdowns = $(".dropdown", $filters).dropdown({
				save:true,
				onChange: function(o, value) {
					$dropdowns.each(function() {
						//if ($(this) != o) $(this).resetDropdown();
					});
					var $this = o;
					var $dropdownID = $this.closest("ul").attr('id');
					var $selectID = $this.closest("li").attr('id');
					if ($dropdownID == "meal") {
						meal = $selectID;
					} else if ($dropdownID == "with") {
						ingredient = $selectID;
					} else if ($dropdownID == "time") {
						time = $selectID;
					}
					//$.log($dropdownID + ":" + $selectID);
					//$.log(value);
					//$.log($this.attr("href"));
					//$content.pageLoad({url: $this.attr("href")});
					return false;
				}
			});
			
			$submit.click(function(){
				//$.log('SUBMIT: search-results.aspx?meal=' + meal + '&ingredient=' + ingredient + '&time=' + time);
				window.location = "search-results.aspx?meal=" + meal + "&ingredient=" + ingredient + "&time=" + time;
				return false;
			});
			
			/*$this.hide().css({height:0});*/
			
			/*var $contentLoader;
			var $filtersLoader;
			
			$content.page({
				onBeforeLoad:function() {
					if ($("ul.pagination", $content).length > 0) {
						if (!$contentLoader) $contentLoader = $(settings.loader).hide().appendTo($content).fadeIn(250);
						else $contentLoader.hide().fadeIn(250);
					}
					if (!$filtersLoader) $filtersLoader = $(settings.loader).hide().prependTo($filters).fadeIn(250);
					else $filtersLoader.hide().fadeIn(250);
				},
				onAfterLoad: function() {
					$(">span", $content).fadeTo(650, 0);
					if ($contentLoader) $contentLoader.stop().fadeOut(250, function() {
						$contentLoader.remove();
						$contentLoader = null;
					});
					if ($filtersLoader) $filtersLoader.stop().fadeOut(250, function() {
						$filtersLoader.remove();
						$filtersLoader = null;
					});
				},
				onComplete: function(data) {
					var $span = $(">span", $content);
					var $loadedSpan = $("div.main>span", data);
					if ($loadedSpan.length > 0) {
						if ($span.length == 0) {
							$span = $loadedSpan.insertBefore($("div.main ul.pagination"));
						}
						else {
							$span.html($loadedSpan.html());
						}
						$span.fadeTo(650, 1);
					}
					else {
						$span.remove();
					}
				}
			});*/
			
			// hide the filter-wrapper div, need it displayed up to here as we need heights
			var height = settings.height;
			
			/*$expand.singleclick(function(e) {
				// $.log("expand");
				if ($(this).data("clickTimer")) return false;
				toggleFilter();
				return false;
			});*/
			
			/*var defaultStatus = $.cookie('workFilterOpened');
			
			if (defaultStatus != null && defaultStatus == "true") {
				$this.show().css({height:height});
				$expand.addClass("active");
				$.cookie("workFilterOpened", true);
			}*/
			
			function toggleFilter() {
				if ($this.is(":visible")) closeFilter();
				else openFilter();
			}
			
			function openFilter() {
				$this.show().animate({height: height}, 250, "swing", function() {
					$expand.addClass("active");
				});
				$.cookie('workFilterOpened', true);
			}
			
			function closeFilter() {
				$expand.removeClass("active");
				$this.animate({height: 0}, 250, "swing", function() {
					$expand.removeClass("active");
					$this.hide();
				});
				$.cookie('workFilterOpened', false);
			}
			
		});
	};
	
	$.fn.recipefilter.defaults = {
		height: 43,
		loader: "<div class='loader'></div>"
	};
	
})(jQuery);