Nifty crosses 24,580; strong Q1 earnings offset oil worries