var _isMozilla = ImageRollover_IsMozilla() ;

if( _isMozilla ) {

	window.addEventListener( 'load', ImageRollover_Window_OnLoad, false ) ;
	window.addEventListener( 'unload', ImageRollover_Window_OnUnload, false ) ;

} else {

	window.attachEvent( "onload", ImageRollover_Window_OnLoad ) ;
	window.attachEvent( "onunload", ImageRollover_Window_OnUnload ) ;

} // if( _isMozilla )


function ImageRollover_Window_OnLoad() {

	var images = document.getElementsByTagName( "img" ) ;
	
	for( var imageIndex = 0; imageIndex < images.length; imageIndex++ ) {
	
		var image = images[ imageIndex ] ;
		var rolloverSrc = image.getAttribute( "RolloverSrc", 2 ) ;
		
		if( rolloverSrc != null ) {

			// Preload the image so it loads quickly when we mouseover.
			var preloadImage = new Image() ;
			preloadImage.src = rolloverSrc ;

			if( _isMozilla ) {

				image.addEventListener( "focus", ImageRollover_Image_OnMouseOver, false ) ;
				image.addEventListener( "blur", ImageRollover_Image_OnMouseOut, false ) ;
				image.addEventListener( "mouseover", ImageRollover_Image_OnMouseOver, false ) ;
				image.addEventListener( "mouseout", ImageRollover_Image_OnMouseOut, false ) ;

			} else {

				image.attachEvent( "onfocusin", ImageRollover_Image_OnMouseOver ) ;
				image.attachEvent( "onfocusout", ImageRollover_Image_OnMouseOut ) ;
				image.attachEvent( "onmouseover", ImageRollover_Image_OnMouseOver ) ;
				image.attachEvent( "onmouseout", ImageRollover_Image_OnMouseOut ) ;

			} // if( _isMozilla )

		} // if( rolloverSrc != null )

	} // for( imageIndex )

} // ImageRollover_Window_OnLoad



function ImageRollover_Window_OnUnload() {

	var images = document.getElementsByTagName( "img" ) ;
	
	for( var imageIndex = 0 ; imageIndex < images.length ; imageIndex++ ) {
	
		var image = images[ imageIndex ] ;
		var rolloverSrc = image.getAttribute( "RolloverSrc", 2 ) ;
		
		if( rolloverSrc != null ) {

			if( _isMozilla ) {

				image.removeEventListener( "focus", ImageRollover_Image_OnMouseOver, false ) ;
				image.removeEventListener( "blur", ImageRollover_Image_OnMouseOut, false ) ;
				image.removeEventListener( "mouseover", ImageRollover_Image_OnMouseOver, false ) ;
				image.removeEventListener( "mouseout", ImageRollover_Image_OnMouseOut, false ) ;
				
			} else {

				image.detachEvent( "onfocusin", ImageRollover_Image_OnMouseOver ) ;
				image.detachEvent( "onfocusout", ImageRollover_Image_OnMouseOut ) ;
				image.detachEvent( "onmouseover", ImageRollover_Image_OnMouseOver ) ;
				image.detachEvent( "onmouseout", ImageRollover_Image_OnMouseOut ) ;
				
			} // if( _isMozilla )

		} // if( rolloverSrc != null )

	} // for( imageIndex )

} // ImageRollover_Window_OnUnload



function ImageRollover_Image_OnMouseOver() {

	var image = null ;
	
	if( _isMozilla )
		image = this ;
	else
		image = event.srcElement ;

	var swapped = image.getAttribute( "Swapped", 2 ) ;
	if( ( swapped != null ) && ( swapped == "true" ) ) return ;

	var source = image.src ;
	image.src = image.getAttribute( "RolloverSrc", 2 ) ;
	image.setAttribute( "RolloverSrc", source, 0 ) ;

	image.setAttribute( "Swapped", "true", 0 ) ;

} // ImageRollover_Image_OnMouseOver



function ImageRollover_Image_OnMouseOut() {

	var image = null ;
	
	if( _isMozilla )
		image = this ;
	else
		image = event.srcElement ;

	var swapped = image.getAttribute( "Swapped", 2 ) ;
	if( ( swapped == null ) || ( swapped == "false" ) ) return ;

	var source = image.src ;
	image.src = image.getAttribute( "RolloverSrc", 2 ) ;
	image.setAttribute( "RolloverSrc", source, 0 ) ;

	image.setAttribute( "Swapped", "false", 0 ) ;

} // ImageRollover_Image_OnMouseOut



function ImageRollover_IsMozilla() {

	var userAgent = navigator.userAgent.toLowerCase() ;
	
	return ( ( userAgent.indexOf( 'mozilla' ) != -1 ) && ( userAgent.indexOf( 'compatible' ) == -1 ) ) ;
	
} // ImageRollover_IsMozilla