Event.observe( window, 'load', function() {
	
	$w('top bottom').each(function( prefix ) {
		
		Event.observe( $(prefix + '_upload'), 'click', function() {
    		Effect.Appear( $(prefix + '_bubble') );
    	});
    	
    	Event.observe( $(prefix + '_close'), 'click', function() {
    		Effect.Fade( $(prefix + '_bubble') );
    	});
    	
    	Event.observe( $(prefix + '_form'), 'submit', function() {
    		if ( $(prefix + '_file').value == '' || $(prefix + '_file').value == null ) {
        		Effect.Shake( $(prefix + '_form') );
        		return false;
        	} else {
        		$(prefix + '_progress').innerHTML = '<img src="/images/spinner.gif" alt="Uploading..." />';
                $(prefix + '_form').hide();
                $(prefix + '_progress').show();
            }
    	});
    	
	});
	
});

var showMessage = function( prefix, message, resetTimeout, showUploadAgain ) {
	$(prefix + '_results').innerHTML = message;
	Effect.Fade( $(prefix + '_progress'), { queue: 'front' });
	Effect.Appear( $(prefix + '_results'), { queue: 'end' });
	setTimeout( "resetUpload( '" + prefix + "', " + showUploadAgain + " );", resetTimeout );
};

var resetUpload = function( prefix, showUploadAgain ) {
	if (showUploadAgain) {
		Effect.Fade( $(prefix + '_results'), { queue: { position: 'front', scope: 'reset' } } );
		Effect.Appear( $(prefix + '_form'), { queue: { position: 'end', scope: 'reset' } } );
	} else {
		Effect.Fade( $(prefix + '_bubble'), { queue: { position: 'front', scope: 'reset' } } );
    	Effect.Fade( $(prefix + '_results'), { queue: { position: 'end', scope: 'reset' } } );
    	Effect.Appear( $(prefix + '_form'), { queue: { position: 'end', scope: 'reset' } } );
	}
};
