
				var __reloadInterval = -1;

				function BnsToggleDynamicReloadOnHover() {
					jQuery( 'div.bns' )
						.live( 'mouseover', BnsStopAutoReload )
						.live( 'mouseout', BnsActivateAutoReload );
				}
				
				function BnsRefresh()
				{
					jQuery( '.bns' ).each( function( i, val ) { 
						jQuery.getScript( 'http://bns.findlaypublishing.com/BnsBox/' + val.id, function() { 
							BnsLoad( val.id ); 
						});
					});
				}

				function BnsActivateAutoReload() {
					// Refresh BNS boxes every 15 minutes (900000 ms)
					__reloadInterval = setInterval( 'BnsRefresh();', 900000 );
				}
				
				function BnsStopAutoReload() {
					clearInterval( __reloadInterval );
				}

				function BnsCollapsibleHeadlines() {
					jQuery( 'dt.bns-title a' ).live( 'click', function( e ) {
						e.preventDefault();
						var title = jQuery( this );
						title.toggleClass( 'bns-up' );
						var body = title.parent().next();
						body.slideToggle( 'fast' );
					});
				}
				
				// Dynamically injects HTML of BNS in container marked with the '.bns' CSS class.
				function BnsLoad( bnsID ) {
					if( bnsID ) {
						var bns = jQuery( '#'+bnsID );
						var myHtml = eval( bnsID );
						if( myHtml.length == 0 ) {
							bns.hide();
						} else {
							bns.fadeOut( 'fast', function() { 
								jQuery(this).html( myHtml ).fadeIn( 'slow' );
							});
						}
					} else {
						jQuery( '.bns' ).each( function() {
							BnsLoad( this.id );
						});
					}
				}

				jQuery(document).ready( function() { 
					BnsCollapsibleHeadlines();
					BnsRefresh();
					BnsToggleDynamicReloadOnHover();
					BnsActivateAutoReload();
				});	
			
