(function($) {
	$(document).ready(function() {
		var hideTimeout = false;
		var search = $('#search');
		var login = $('#log-in');
		var registration = $('#registration-form');
		var ie6 = ($.browser.msie && $.browser.version == '6.0');
		
		//
		// Setup click and mouseout events for the login and search buttons
		//
		$('#masthead a.button').click(function() {
			var target_id = $(this).attr('href');	
			var target = $(target_id);
			
			closePopups();
			target.toggle();
			return false;	
		});
		
		$('select', search).focus(unbindMouseEvents).change(bindMouseEvents).blur(bindMouseEvents);
		$('select', login).focus(unbindMouseEvents).change(bindMouseEvents).blur(bindMouseEvents);
		
		function bindMouseEvents() {
		  $('#log-in, #search')
			.unbind('mouseout').bind('mouseout', function() { hideTimeout = setTimeout(closePopups, 1000);})
			.unbind('mouseover').bind('mouseover', function() {if (hideTimeout) clearTimeout(hideTimeout);});
		}
		
		function unbindMouseEvents() {
		  $('#log-in, #search').unbind('mouseout').unbind('mouseover');
		}
	
		function closePopups() {
		clearTimeout(hideTimeout);
			search.hide();
			login.hide();
	  }
	
		//
		// Setup jquery.example on the login and registration forms.
		//
		$("#log-in, #registration-form").find('input').example(function() {
			return $(this).attr('title');
		}, { className: 'hint' });
		
		//
		// Setup hover tooltips on member photos
		//
		var badges = $('.wld_badge_item');
		
		badges.each(function() {
			var badge = $(this);	
	
			badge
				.find('.wld_badge_item_detail')
				.wrapInner('<div class="wrapper"></div>')
				.end()
				.mouseover(function() {
					var pos  = $(this).offset();
					var ww   = $(window).width(); // window width
					var tip  = $(this).find('.wld_badge_item_detail');
					var top  = pos.top - 29;
					var left = pos.left + ($(this).width() / 10);
					
					if ((ww - 10) < (left + tip.width())) {
						tip.addClass('reverse');
						left = left - tip.width();
					}
					
					$(this).addClass('hover')
					tip.show().css({
						'top'  :  top + 'px',
						'left' :  left + 'px' 
					});
				})
				.mouseout(function() {
					badge
						.removeClass('hover')
						.find('.wld_badge_item_detail')
						.removeClass('reverse')
						.hide();
				});
		});
		
		// Setup Colorbox here
		$('#free-link').colorbox({ 
		 height: '570',
		 width: '550',
		 transition: 'elastic',
		 speed: '550'
		});
		
		
		//
		// Setup carousel
		//
		if (!ie6) {
			$('#carousel').jcarousel({
				auto: 6,
				wrap: 'last',
				size: 4,
				scroll: 1
			});
		}
	});
})(jQuery);
