This paper is concerned with option valuation under a double regime-switching model, where both the model parameters and the price level of the risky share depend on a continuous-time, finite-state, observable Markov chain. In this incomplete market set up, we first employ a generalized version of the regime-switching Esscher transform to select an equivalent martingale measure which can incorporate both the diffusion and regime-switching risks. Using an inverse Fourier transform, an analytical option pricing formula is obtained. Finally, we apply the fast Fourier transform method to compute option prices. Numerical examples and empirical studies are used to illustrate the practical implementation of our method.