Wireless networking failover

I'm looking for information on the best practice for dealing with the
following scenario. Any assistance that can be offered would be
appreciated; if this isn't the best place to ask but someone can point
me in the correct direction, I'd appreciate it.

-A LED-based point-to-point wireless connection (100 Mbps)
-A 802.1a or g-based point-to-point radio frequency wireless connection
-A point-to-point T1

The connections should be preferred in that order. The problem is that
one or both of the wireless connections are affected by weather and can
degrade to the point that they are operating at a very slow speed. For
instance, the LED connection could degrade to less than 54 Mbps but the
54 Mbps connection is unaffected. Or both could degrade to less than T1

There is a Cisco 2851 on either end of the connections that makes the
routing decision for traffic to go across one of the three connections.

My question- is there a way (product, additional configuration, STP,
routing protocol, etc.) that would allow the equipment to dynamically
switch to the currently fastest connection, particularly in the
situation that one connection has degraded but not failed?

Thanks in advance,
Danny Snyder