var kROTATE_TIME_IN_MS	= 10000;//7000;
var kBLEND_TIME_IN_MS	= 2000;

var bannerImages = new Array( );
var bannerCredit;

function jumpHero( which ) { 
	if( bannerInfo.inFlux( ) ) {
		return;
	}
	
	if( which == bannerInfo.getWhich( ) ) {
		return;
	}
	
	heroPause( );
		bannerInfo.swapTo( which ).swap( );
		if( bannerInfo.hasEnhanced( )
		&&  bannerInfo.isOpen( ) ) {
			if( bannerInfo.isEnhanced( which ) ) {
				bannerInfo.setReopen( true );
			}
			bannerInfo.shut( );

		}
        
        updateCredit( which );
	heroResume( );

}

function loadHero( which ) {
	var hp		= $( 'BannerNavIcons' );
	var img		= new Image( );
	img.onload	= bind(
		  img
		, function( n ) {
			bannerImages[ n ] = this;
			
			var item = hp.childNodes[ which ];
			item.onclick = bind(
				  null
				, function( which ) { jumpHero( which ); }
				, n
			);
			item.addClass( 'active' );
			if( which == 0 ) {
				item.addClass( 'current' );
			}
		  }
		, which
	);
	img.src = auri( uvBannerImages[ which ].uri );
}

var uhThread = 1;
function updateHeroImage( ) {
	if( uhThread > 1 ) {
		uhThread--;
		return;
	}

	var i = getObj( 'uvHero' );
	if( i ) {
		if( i._hold ) {
			--uhThread;
			return;
		}
		
		// Initialize first banner
		if( i._n == null ) {
			i._n = 0;
			
/*			bannerImages[ i._n ]		= new Image( );
			bannerImages[ i._n ].src	= auri( uvBannerImages[ i._n ].uri );
			
//			loadHero( 1 );*/
		}
		else {
			// Get what banner should be now
			i._next = ( i._n + 1 ) % ( uvBannerImages.length );
			
			if( bannerImages[ i._next ] ) {
				bannerInfo.didBeginSwap( );
				
				blendimage(
					 'uvHero_bg'
					,'uvHero_banner'
					, bannerImages[ i._next ].src
					, kBLEND_TIME_IN_MS
				);
				
                updateCredit( i._next );
				
/*				// Get what banner should be next
				i._fastforward = ( i._next + 1 ) % ( uvBannerImages.length );
				if( !bannerImages[ i._fastforward ] ) {
//
					loadHero( i._fastforward );
				}*/
				
				bannerInfo.didEndSwap( );
			}
/*			else {
//				loadHero( i._next );
			}*/
		}
	}

	if( --uhThread == 0 ) {
		++uhThread;
		setTimeout(
			updateHeroImage,
			kROTATE_TIME_IN_MS
			);
		}
	}

function updateCredit( which ) {
    bannerCredit = getObj( 'BannerCredit' );
	if( bannerCredit ) {
		clearNode( bannerCredit );
		if( uvBannerImages[ which ].credit ) {
			var parent = bannerCredit;
			if( uvBannerImages[ which ].site ) {
				bannerCredit.appendChild(
					link = document.createElement( 'a' )
				);
				link.href	= uvBannerImages[ which ].site;
				link.target	= '_blank';
				link.title	= 'Opens in a new window';
				parent = link;
            }
            parent.innerHTML =
                '&copy; ' + uvBannerImages[ which ].credit;
         }
    }
}

function heroPause( ) {
	var i = getObj( 'uvHero' );
	if( i ) {
		i._hold = true;
	}
}

function heroResume( ) {
	var i = getObj( 'uvHero' );
	if( i ) {
		i._hold = false;
		uhThread++;
		setTimeout(
			updateHeroImage,
			kROTATE_TIME_IN_MS
		);
	}
}

/*var current_hero;
function toggleHero( in_img ) {
	var src, alt;
	
	if( in_img ) {
		heroPause();
		current_hero = getObj( 'uvHero' ).src;
		src = in_img.src;
		alt = in_img.alt;
	} else {
		heroResume();
		src = current_hero;
		alt = heroAlts[ src.charAt( src.length - 5 ) - 1 ]; // .../hero_?.jpg
	}
	
	getObj( 'uvHero' ).src = src;
	getObj( 'uvHero' ).alt = alt;
}*/


// http://www.brainerror.net/scripts_js_blendtrans.php
function blendimage(divid, imageid, imagefile, millisec) { 
    var speed = Math.round(millisec / 100);
    var timer = 0;
     
    //set the current image as background
    document.getElementById(divid).style.backgroundImage = document.getElementById(imageid).style.backgroundImage;
     
    //make image transparent
    changeOpac(0, imageid);
     
    //make new image 
	document.getElementById(imageid).style.backgroundImage = 'url('+imagefile+')';

    //fade in image 
    for(i = 0;i <= 100;i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
        timer++;
    } 
}

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart;i >= opacEnd;i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart;i <= opacEnd;i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 101);
    object.MozOpacity = (opacity / 101);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}



/*-( Guidebook )--------------------------------------------------------------*/

var gbTabIsShowing = false;
attachHandler( window, 'onload', function() {

	var cont = getObj( 'uvGuidebookContainer' );
	
	if( !cont ) { return; }
	
	var anchor = document.createElement( 'a' );
	anchor.id = 'uvGuidebookHandle';
	anchor.href = auri( 'guidebook/' );
	var div = document.createElement( 'div' );
	div.id = 'uvGuidebookContent';
	
	cont.appendChild( div );
	cont.appendChild( anchor );
	
	attachHandler( anchor, 'onclick', toggleGBTab );
	attachHandler( div, 'onclick', function() {
		window.location = auri( 'guidebook/' );
	});

});

function toggleGBTab( e ) {
	if (shortImg == true || bannerInfo.isOpen( )) { return; }
	var handle = getObj('uvGuidebookHandle');
	var content = getObj( 'uvGuidebookContent' );
	var pngFix = (isIE( ) && isAtMostVersion( 6 ));
	var pre = locale_asset_prefix( LOCALE );

	if (gbTabIsShowing == true) {
		if (pngFix) {
			handle.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+AURI+"resource/visitmaine/image/banner/"+pre+"gb_handle_off.png', sizingMethod='image')";
		} else {
			handle.style.backgroundImage = "url('"+AURI+"resource/visitmaine/image/banner/"+pre+"gb_handle_off.png')";
		}
		content.style.display = 'none';
	} else {
		if (pngFix) {
			handle.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+AURI+"resource/visitmaine/image/banner/"+pre+"gb_handle_on.png', sizingMethod='image')";
		} else {
			handle.style.backgroundImage = "url('"+AURI+"resource/visitmaine/image/banner/"+pre+"gb_handle_on.png')";
		}
		content.style.display = 'block';
	}
	gbTabIsShowing = (!gbTabIsShowing);
	return abortEventAndPreventDefault( e );
}



/*-( Banner Info )------------------------------------------------------------*/

var Banner = new Class( {
		is_open:		false
	, 	is_shut:		true
	,	in_flux:		false
	,	is_first:		true
	,	is_multi:		false
	,	is_swap:		false
	,	is_reopen:		false
	,	is_homepage:	false
	,	has_enhanced:	false
	,	begin:			0
	,	end:			0
	,	effects:		{ open: null, shut: null }
	,	cache:			{ }
	,	ajax:			{ }
	
	,	banners:		null
	,	jump_icons:		null
	
	,	inFlux:		function( ) { return this.in_flux; }
	,	isOpen:		function( ) { return this.is_open; }
	,	isShut:		function( ) { return this.is_shut; }
	,	isFirst:	function( ) { return this.is_first; }
	,	isSwap:		function( ) { return this.is_swap; }
	,	isMulti:	function( ) { return this.is_multi; }
	
	,	cacheGet:	function( key ) {
			if( this.cache[ key ] ) {
				return this.cache[ key ];
			}
		}
	,	cacheSet:	function( key, value ) {
			this.cache[ key ] = value;
		}
	
	,	isReopen:	function( ) { return this.is_reopen; }
	,	setReopen:	function( reopen ) {
			this.is_reopen = reopen;
			return this;
		}
	
	,	swapTo:		function( which ) {
			this.is_swap = true;
			$( 'uvHero' )._next = which;
			return this;
		}
	, 	isHomePage:		function( ) { return this.is_homepage; }
	,	getJumpIcons:	function( ) { return this.jump_icons; }
	,	getWhich:		function( ) { return $pick( $( 'uvHero' )._n, 0 ); }
	,	getNextWhich:	function( ) { return $( 'uvHero' )._next; }
	,	getBanner:		function( which ) { return this.banners[ which ]; }
	,   getWhichCount:	function( ) { return this.banners.length-1 }
	,	getCurrent:		function( ) {
			return this.getBanner( this.getWhich( ) );
		}
	,	getNext:		function( ) {
			return this.getBanner( $( 'uvHero' )._next );
		}
	
	,	initialize:	function( ) {
			
			if( isset( 'uvBannerImages' )
			&&  uvBannerImages.length > 0 ) {
				this.banners = uvBannerImages;
			}
			else {
				return;
			}
			
			// Seriously?
			this.is_homepage = ( getObj('nextPrevArrow') ) ? true : false;
			
			this.is_first = !getCookie( 'bannerhasrun' );
			if( this.isFirst( ) && !this.isHomePage( ) ) {
				// Don't add to home page so that entire banner remains clickable
				$( 'BannerInfoGhost' ).addClass( 'init' );
			}
			
			this.is_multi = ( this.banners.length > 1 );
			 
			if( isset( 'uvHasEnhancedHeros' )
			&&  uvHasEnhancedHeros === true ) {
				this.has_enhanced = true;
			}
			
			if( this.isMulti( ) ) {
				$( 'uvHero' ).addClass( 'multi' );
			}
			
			if( this.hasEnhanced( ) ) {
				this.bootstrapInfo( );
				$( 'uvHero' ).addClass( 'enhanced' );
			}
			this.bootstrapNav( ); 
			this.bootstrapCaption( );
		}
		
	,	toggle:		function( ) {
			if( this.inFlux( ) ) {
				return;
			}
			
			if( this.isOpen( ) ) {
				this.shut( );
			}
			else {
				this.open( );
			}
		}
		
	,	open:	function( ) {
			$( 'BannerInfo' ).assemble( this.getCurrent( ).info );
			
			this.begin = this.end - getObjHeight( $( 'BannerInfo' ) );  //Height is set according to size of the text
			this.effects.open.start( this.begin );
			
			if( this.isFirst( ) ) {
				setCookie( 'bannerhasrun', 1 );
				this.is_first = false;
				$( 'BannerInfoGhost' ).removeClass( 'init' );
			}

			if(this.getCurrent( ).info.results) {
				uv_log(
					 'proximitybanner'
					, this.getCurrent( ).info.results.centroid
					, document.location
				);
			} 
			
			if( this.isHomePage( ) ) {
				uv_log(
					 'enhancedbanner'
					, this.getWhich( )
					, document.location
				);
			}
		}
		
	,	shut:	function( ) { 
			this.effects.shut.start( this.end ); 
		}
	
	,	swap:	function( ) {
			this.didBeginSwap( );
				var banner =
					( this.isOpen( ) ) ? 'uvHeroInterior' : 'uvHero_banner';
				
				$( banner ).setStyle(
					 'background-image'
					,'url( '+auri( this.getNext( ).uri )+' )'
				);
			this.didEndSwap( );
		}
	
	,	bootstrapInfo:	function( ) { 	
			this.ajax.results = new Request( {
						 url: auri( 'banner/proximity/' )
				,	  method: 'get'
				, onComplete: function( ) {
					
					var content	= this.response.text;
					
					if( !content ) {
						return;
					}
					
					var results = $( 'BannerInfoResults' );
					
					results.removeClass( 'loading' );
					results.set( 'html', content );
					
					if( !bannerInfo.isShut( ) ) {
						new Fx.Tween(
							  results.getElement( 'ul.thingsToDo' )
							, { property: 'opacity', duration: 500 }
						).start( 0, .99 );
					}
					
					bannerInfo.setBannerInfoCache( );
				}
			} );
			
			$( 'BannerInfoNav' ).getToggle = function( ) {
				if( isIE6( ) ) {
					return this.getParent( ).getParent( ).getNext( );
				}
				return this.getParent( ).getNext( );
			}

			$( 'BannerInfoNav' ).show = function( ) {
				this.getToggle( ).setStyle( 'display', 'none' );
				this.setStyle( 'display', 'block' );
				
				if( isIE6( ) ) {
					this.getParent( ).setStyle( 'display', 'block' );
				}
			}
			
			$( 'BannerInfoNav' ).hide = function( ) {
				this.setStyle( 'display', 'none' );
				this.getToggle( ).setStyle( 'display', 'block' );
				
				if( isIE6( ) ) {
					this.getParent( ).setStyle( 'display', 'none' );
				}
			}

			if( this.isEnhanced( 0 ) ) {
				$( 'BannerInfoNav' ).show( );
				$( 'BannerInfoGhost' ).setStyle( 'display', 'block' );
			}

			$( 'BannerInfo' ).assemble = function( info ) { 
				var ajax = bannerInfo.ajax.results;
				if( ajax.running
				&&  ajax.options.data.centroid != info.results.centroid ) {
					ajax.cancel( );
				}
				
				var content = bannerInfo.getBannerInfoCache( );
				
				if( content ) {
					this.set( 'html', content );
					return;
				} 
				
				if ($( 'BannerInfoResults' ) ) { 
					$( 'BannerInfoResults' ).empty( );
					$( 'BannerInfoResults' ).addClass( 'loading' );
				}
				
				if( !$( 'BannerInfoRegion' ) ) {
					insertBefore(
						  document.createElement( 'img' )
						, getObj( 'BannerInfoCopy' ).firstChild
					).id = 'BannerInfoRegion';
					
					var region			= $( 'BannerInfoRegion' );
					region.className	= 'region uvTransparent';
					region.onload		= function( ) {
						uvattach_alpha_img( this );
					}
				}
				
				if(info.region) {
					$( 'BannerInfoRegion' ).src		= auri( info.region.uri );
					$( 'BannerInfoRegion' ).alt		= info.region.alt;
					$( 'BannerInfoRegion' ).title	= info.region.title;
				}
				
				$( 'BannerInfoCopyInterior' ).set(
					 'html'
					, decodeURIComponent( info.copy )
				);

				if(info.results) {
					$( 'BannerInfoRadius' ).set( 'text', info.results.radius );
				}
				if( info.links ) {
					$( 'BannerInfoLinks' ).set(
						 'html'
						, decodeURIComponent( info.links )
					);
				}
				else {
					$( 'BannerInfo' ).getElement( '.links' ).setStyle( 'display', 'none' );
				}

				if(info.results) {
					ajax.send( 'centroid='+info.results.centroid );
				}
			}
			
			$( 'BannerInfo' ).getResults = function( ) {
				return ($( 'BannerInfoResults' )) ? ($( 'BannerInfoResults' ).getElement( 'ul.thingsToDo' )) : '' ;
			}
			
			$( 'BannerInfo' ).showResults = function( ) { 
				if( this.getResults( ) ) {
					this.getResults( ).setStyle( 'visibility', 'visible' );
				}
			}
			
			$( 'BannerInfo' ).hideResults = function( ) {
				if( this.getResults( ) ) {
					this.getResults( ).setStyle( 'visibility', 'hidden' );
				}
			}
			
			this.end = getObjHeight( getObj( 'uvHero' ) );

			var larrow = getObj('nextPrevArrow');
			var rarrow = getObj('nextHeroArrow');
							
			this.effects.open = new Fx.Tween(
				 'uvHeroInterior'
				, {
					  property: 'height'
				,	  duration: 500
				,	transition: Fx.Transitions.Expo.easeOut
				,	   onStart: function( ) {
						
						bannerInfo.in_flux = true;
						bannerInfo.is_shut = false;
						
						var nav = $( 'BannerInfoNav' );
						
						if( bannerInfo.isMulti( ) ) {
							heroPause( );

							if (larrow && rarrow ) {
								larrow.src = auri( 'resource/visitmaine/image/banner/info/prev_home.gif' );
								rarrow.src = auri( 'resource/visitmaine/image/banner/info/next_home.gif' );
							}
						}
						
						$( 'BannerInfo' ).showResults( );
						$( 'uvBanner' ).addClass( 'open' );
						
						if( isIE6( ) ) {
							$( 'uvHero_banner' ).setStyle( 'height', 'auto' );
							nav.setStyle( 'filter', nav.getStyle( 'filter' ).replace( /open/, 'close' ) );
						}
						else {
							nav.src = nav.src.replace( /open/, 'close' );
						}
						
						$( 'uvHeroInterior' ).setStyle( 'background-image', $( 'uvHero_banner' ).getStyle( 'background-image' ) );
						$( 'uvHero_banner' ).setStyle( 'background-image', 'none' );
					}
				,	onComplete: function( ) {
						$( 'uvHero' ).setStyle(
							 'height'
							, bannerInfo.begin + 6 + 'px'
						);
						
						bannerInfo.is_open = true;
						bannerInfo.in_flux = false;
					}
				  }
			);
			
			this.effects.shut = new Fx.Tween(
				 'uvHeroInterior'
				, {
					  property: 'height'
				,	  duration: 500//750
				,	transition: Fx.Transitions.Expo.easeIn//Bounce.easeOut
				,	   onStart: function( ) {
						
						bannerInfo.in_flux = true;
						bannerInfo.is_open = false;
						
						var nav = $( 'BannerInfoNav' );
						if( !bannerInfo.isReopen( ) ) {
							if( isIE6( ) ) {
								nav.setStyle( 'filter', nav.getStyle( 'filter' ).replace( /close/, 'open' ) );
							}
							else {
								nav.src = nav.src.replace( /close/, 'open' );
							}
						}
						
						$( 'uvHero' ).setStyle(
							 'height'
							, bannerInfo.end + 'px'
						);
						
						if( bannerInfo.isReopen( ) ) {
							this._origDuration	= this.options.duration;
							this._origTrans		= this.options.transition;
							this.options.duration	= /*why?( bannerInfo.isHomePage( ) ) ? 600 : */200;
							this.options.transition = 
								Fx.Transitions.Quad.easeInOut;
						}
					}
				,	onComplete: function( ) {
						$( 'BannerInfo' ).hideResults( );
						$( 'uvBanner' ).removeClass( 'open' );
						
						if( isIE6( ) ) {
							$( 'uvHero_banner' ).setStyle( 'height', $( 'uvHeroInterior' ).getStyle( 'height' ) );
						}
						
						$( 'uvHero_banner' ).setStyle( 'background-image', $( 'uvHeroInterior' ).getStyle( 'background-image' ) );
						$( 'uvHeroInterior' ).setStyle( 'background-image', 'none' );
						
						bannerInfo.is_shut = true;
						bannerInfo.in_flux = false;
						
						if( bannerInfo.isMulti( ) ) {
							heroResume( );
						}
						
						if( bannerInfo.isReopen( ) ) {
							this.options.duration	= this._origDuration;
							this.options.transition = this._origTrans;
							bannerInfo.open( );
							bannerInfo.setReopen( false );
						}
					}
				  }
			);
		}
	
	,	getBannerInfoCacheKey	: function( ) {
			return 'info'+this.getWhich( );
		}
	,	getBannerInfoCache		: function( ) {
			return this.cacheGet( this.getBannerInfoCacheKey( ) );
		}
	,	setBannerInfoCache		: function( ) {
			this.cacheSet(
				  this.getBannerInfoCacheKey( )
				, $( 'BannerInfo' ).innerHTML
			);
		}
	
	,	bootstrapNav:	function( ) {
			if( !this.isMulti( ) ) {
				return;
			}
			
			var hp = $( 'BannerNavIcons' );
			for( var i = 0; i < this.banners.length; i++ ) {
				hp.appendChild( new Element( 'div' ) );
				loadHero( i );
			}
			
			this.jump_icons = hp.getElementsByTagName( 'div' );
			
		}
	
	,	bootstrapCaption:	function( ) {
			$( 'BannerCaption' ).update = function( which ) {
				var to		= which;
				var from	= bannerInfo.getWhich( );
				
				var current = bannerInfo.getCurrent( ).caption;
				var caption = bannerInfo.getBanner( to ).caption;
				
				var navSrc	=
					( isIE6( ) )
					? $( 'BannerInfoNav' ).getStyle( 'filter' )
					: $( 'BannerInfoNav' ).src;
				
				if( current && !caption ) {
					if( !bannerInfo.isEnhanced( from )
					&&	bannerInfo.isEnhanced( to ) ) {
						navSrc = navSrc.replace(
							 /banner_open.png/
							,'banner_open_clean.png'
						);
						
						if( isIE6( ) ) {
							$( 'BannerInfoNav' ).setStyle( 'filter', navSrc );
						}
						else {
							$( 'BannerInfoNav' ).src = navSrc;
						}
					}
					else {
						this.hide( );
						$( 'BannerInfoNav' ).hide( );
					}
					return;
				}

				if( caption ) {
					var img = $( 'BannerInfoCaption' );
					
					this.getElements( '.hide' ).each(
						function( obj ) {
							obj.removeClass( 'hide' );
							
							if( isIE6( )
							&& obj.hasClass( 'uvTransparent' ) ) {
								obj.style.visibility = '';
							}
						}
					);
					
					if( isIE6( ) ) {
						img.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader( src="'+auri( caption.uri )+'", sizingMethod="image" )';
						img.setStyle( 'width', caption.width+'px' );
					}
					else {
						img.src = auri( 'resource/visitmaine/image/banner/info/caption_e.png' );
						img.setStyle( 'width', caption.width+'px' );
						img.alt = caption.alt;
						img.src = auri( caption.uri );
					}

					if( bannerInfo.isEnhanced( from )
					&&  !bannerInfo.isEnhanced( to ) ) {
						$( 'BannerInfoNav' ).hide( );
						$( 'BannerInfoGhost' ).setStyle( 'display', 'none' );
					}
					else
					if( !bannerInfo.isEnhanced( from )
					&&  bannerInfo.isEnhanced( to ) ) {
						navSrc = navSrc.replace(
							 /banner_open_clean.png/
							,'banner_open.png'
						);
						
						if( isIE6( ) ) {
							$( 'BannerInfoNav' ).setStyle( 'filter', navSrc );
						}
						else {
							$( 'BannerInfoNav' ).src = navSrc;
						}
						
						$( 'BannerInfoNav' ).show( );
						$( 'BannerInfoGhost' ).setStyle( 'display', 'block' );
					}
					
					if( !current ) {
						this.show( );
					}
				}
			}
			
			$( 'BannerCaption' ).show = function( ) {
				this.removeClass( 'hide' );
			}
			
			$( 'BannerCaption' ).hide = function( ) { 
				this.addClass( 'hide' );
				$( 'BannerInfoGhost' ).setStyle( 'display', 'none' );
			}
		}
	
	,	isEnhanced:		function( which ) { 
			return ( this.banners[ which ].info );
		}
	
	,	hasEnhanced:	function( ) {
			return this.has_enhanced;
		}
	
	,	hasCaption:		function( which ) {
			return ( this.banners[ which ].caption );
		}
	
	,	didBeginSwap:	function( ) {
			var icons = this.getJumpIcons( );
			icons[ this.getWhich( ) ].removeClass( 'current' );
			icons[ this.getNextWhich( ) ].addClass( 'current' );
			
			$( 'BannerCaption' ).update( this.getNextWhich( ) );
		}
	
	,	didEndSwap:		function( ) {
			$( 'uvHero' )._n = this.getNextWhich( );
			this.is_swap = false;
		}
} );

function bootstrap_arrows( ) {
	var lnavlink  = getObj('leftNavLink');
 	var rnavlink = getObj('rightNavLink');
 	var narrow = getObj('nextHeroArrow');
 	var parrow = getObj('nextPrevArrow' );
 	
	attachHandler( lnavlink, 'onclick', function( ) { jumpHero(Math.max((bannerInfo.getNextWhich() | 0)-1, 0)) });
	attachHandler( rnavlink, 'onclick', function( ) { jumpHero(Math.min((bannerInfo.getNextWhich() | 0)+1, bannerInfo.getWhichCount())) });
	attachHandler( narrow, 'onmouseout', function( ) { if ( (bannerInfo.getNextWhich() | 0) < bannerInfo.getWhichCount() ) { narrow.src=''+auri('resource/visitmaine/image/banner/info/next_home.gif' )+''} } );
	attachHandler( narrow, 'onmouseover', function( ) { if ( (bannerInfo.getNextWhich() | 0) < bannerInfo.getWhichCount() ) { narrow.src=''+auri( 'resource/visitmaine/image/banner/info/next_home_on.gif' )+''} } );
	attachHandler( parrow, 'onmouseout', function( ) { if ( (bannerInfo.getNextWhich() | 0) > 0 ) { parrow.src=''+auri('resource/visitmaine/image/banner/info/prev_home.gif' )+''} } );
	attachHandler( parrow, 'onmouseover', function( ) { if ( (bannerInfo.getNextWhich() | 0) > 0 ) { parrow.src=''+auri('resource/visitmaine/image/banner/info/prev_home_on.gif' )+'' } } );

}

var bannerInfo;
function bootstrap_banner( ) {
	if( !isset( 'MooTools' ) ) {
		return;
	}

	bannerInfo = new Banner( );

	if( bannerInfo.isMulti( ) ) { 
		updateHeroImage( ); 
		if ( bannerInfo.isHomePage( ) ) {
			bootstrap_arrows( );
		}
	}
	
//	bannerInfo.toggle( );
}

document.onload = chainHandlers( document.onload, bootstrap_banner );
