Change texture of an object but with fade
Well, there might be different solutions - but here is one which worked for me. It involves Material nodes with three seperate materials. You need...


one for your initial material (window), 
one for your second material (curtain) and 
one which controls your fading. 


The last one uses the objects color, which can be changed via Python. 
Here is an my minimal example using a blue and red material as inputs and a shadeless one for fading:



When running it, the materials fade within 10 seconds, driven by the timer.