The purpose of weight training is to put on muscle so you should do that first; when you can give it 100%. If you do cardio first, you will deplete your glycogen stores which will sap your energy when you go to weight train.
The purpose of cardio is to burn fat so you should do that last; after weight training has depleted your glycogen stores. That will force your body to burn fat for energy and is the next best thing to doing cardio in the AM on an empty stomach.
After the whole workout, drink your protein shake. If you're doing weight training after cardio just so you can get the protein shake quick you're putting the cart before the horse. How intensely you lift is much more important that how quickly you drink that protein.