jQuery(function(){

	/* ************************** HOVER MENU ******************************* */
	var MenuList = jQuery('#nav > ul');
	var MenuItems = MenuList.find('li');
	
	MenuItems.mouseover(function(){
		var tgt = jQuery(this);
		tgt.find('ul').addClass('visible').bgiframe();
	})
	.mouseout(function(){
		var tgt = jQuery(this);
		tgt.find('ul').removeClass('visible');
	});

	/* ******************** search form label ******************************** */
	var searchLabel = jQuery('#searchLabel');
	var searchInput = jQuery('#searchBox');
	searchInput.focus(function(){
		searchLabel.hide();
	})
	.blur(function(){
		if (searchInput.val() == '') {
			searchLabel.show();
		}
	});	
	if (searchInput.val() != '') {
		searchLabel.hide();
	}
	
	/* ********************* newsletter signup label *************************** */
	var signupLabel = jQuery('#signupLabel');
	var signupInput = jQuery('#signupInput');
	signupInput.focus(function(){
		signupLabel.hide();
	})
	.blur(function(){
		if (signupInput.val() == '') {
			signupLabel.show();
		}
	});
	if (signupInput.val() != '') {
		signupLabel.hide();
	}
	
	/* ******************* rotating banner ************************************ */
	var Header = jQuery('#header');
	var HeaderAnchor = jQuery('#header a');
	var BackFade = jQuery('<div id="BackFade"></div>').appendTo(Header);
	var fadeInterval = 10; // seconds
	var oldBanner = HeaderAnchor.attr('class').match(/Banner_([0-9]+)/)[1];
	var numBanners = 8;
	
	window.setInterval(function(){
		// pick new banner
		while (true) {
			var newBanner = Math.round(Math.random() * (numBanners - 1)) + 1;
			if (newBanner != oldBanner) break;
		}
		
		// add banner class to backfade
		BackFade.addClass('Banner_' + newBanner);
		
		// fade out anchor
		HeaderAnchor.fadeTo('slow', 0, function(){
		
			// set anchor to new banner
			HeaderAnchor.removeClass('Banner_' + oldBanner).addClass('Banner_' + newBanner)
			// and make fully opaque again
			.css('opacity', 1);
			BackFade.removeClass('Banner_' + newBanner);
			// the old class is now the new class
			oldBanner = newBanner;
		});
	}, fadeInterval * 1000)
});
