In order to support different types of user applications, the IEEE 802.16 standard defines different service classes together with their associated Quality of Service (QoS) parameters. However, the standard lacks a MAC scheduling architecture that guarantees these defined QoS requirements. The importance of efficient scheduling is crucial to QoS provisioning for multimedia flows. In this paper we propose an opportunistic and optimized downlink scheduler that pledges fairness among admitted connections. Our approach involves separating the scheduling problem into two sub-problems. In the first problem, the proposed scheduler calculates the number of time-slots in each time frame corresponding to the service classes with the objective minimizing the blocking probability of each class. In the second problem, time-slots for each class connection are allocated using an integrated cross-layer priority functions that guarantee proportional fairness. The simulation results reveal that the proposed scheduler realizes our objectives, and provides efficient QoS scheduling without starving the connections of the best effort class.