/* @author john@line.uk.com */
(function ($) {
	$(function () {
		$("#attendees img").lazyload({
			effect: 'fadeIn',
			placeholder: '/2009/assets/images/no_img.gif'
		});

		// Search is crazy slow in IE6.
		if ($.browser.msie && $.browser.version == '6.0') {
			$('#attendee_search').hide();
		} else {
			$('#attendees').each(function () {
				var searchBox = $('.searchbox', this);
				var items = $('.attendee_confirmed, .attendee_unconfirmed', this);
				items.addClass('result');

				var searchTerm = searchBox.val().toLowerCase();
				var maleToggle = $('#show_males', this);
				var femaleToggle = $('#show_females', this);

				function doSearch() {
					var searchTerm = searchBox.val().toLowerCase();

					var maleToggled = maleToggle.is(':checked');
					var femaleToggled = femaleToggle.is(':checked');

					items.each(function () {
						var item = $(this);

						if ((maleToggled && item.is('.male')) || (femaleToggled && item.is('.female'))) {
							if (item.html().toLowerCase().indexOf(searchTerm) == -1) {
								item.addClass('not_result').removeClass('result');
							} else {
								item.removeClass('not_result').addClass('result');
							}
						} else {
							item.addClass('not_result').removeClass('result');
						}
					});

					items.filter('.result').show();
					items.filter('.not_result').hide();

					$(window).scroll();
				}

				maleToggle.click(doSearch);
				femaleToggle.click(doSearch);

				var searchTimeout;

				searchBox.keyup(function () {
					clearTimeout(searchTimeout);
					if (searchBox.val().length > 2 || searchBox.val().length == 0) {
						searchTimeout = setTimeout(doSearch, 150);
					}
				});
			});
		}
	});
})(jQuery);
