function uvhoverable_attach( ) {
	var imgArr	= document.getElementsByTagName( 'img' );
	var inptArr	= document.getElementsByTagName( 'input' );
	
	arr = new Array( imgArr, inptArr );
	
	if( arr ) {
		for( var ii = 0; ii < arr.length; ii++ ) {
			
			for( var kk = 0; kk < arr[ ii ].length; kk++ ) {
				if( arr[ ii ][ kk ].className
				&&	arr[ ii ][ kk ].className.indexOf( 'uvHoverable' ) != -1 ) {
	
					var p = arr[ ii ][ kk ].src.split( '.' );
					if( p.length > 1 ) {
						p[ p.length - 2 ] += '_on';
						}
					l = p.join( '.' );
	
					arr[ ii ][ kk ].uvhoverable_off	= arr[ ii ][ kk ].src;
					arr[ ii ][ kk ].uvhoverable_on	= l;
					
					arr[ ii ][ kk ]._preload			= new Image( );
					var _t = arr[ ii ][ kk ]._preload;

					arr[ ii ][ kk ]._preload.onerror	= bind(
						 null
						,function( _t ) {
							uv_error(
								'Unable to load image: ' + _t.src
								);
							}
						,arr[ ii ][ kk ]
						);
					
					arr[ ii ][ kk ]._preload.src 	= l;
	
					arr[ ii ][ kk ].onmouseover =
						chainHandlers(
							 uvhoverable_activate
							,arr[ ii ][ kk ].onmouseover
							);
	
					arr[ ii ][ kk ].onmouseout =
						chainHandlers(
							 uvhoverable_deactivate
							,arr[ ii ][ kk ].onmouseout
							);
					}
				}
			}
		}
	}
	
function uvhoverable_activate( ) {
	this.src = this.uvhoverable_on;
	}
	
function uvhoverable_deactivate( ) {
	this.src = this.uvhoverable_off;
	}
