We present a multi-channel MAC protocol for ad hoc networks, for nodes equipped with a single half-duplex transceiver, combining the use of OFDMA and CDMA. To ease OFDMA channel management the network is clustered. Channel groups are defined by a resolvable balanced incomplete block design (BIBD) to minimize interference. Unique CDMA codes are assigned to each cluster. Clusterheads manage and assign channel groups through an extended handshake. Idle nodes that overhear the handshake cooperate to reduce the incidence of the multi-channel hidden- and exposed-terminal problems, and also the near-far problem of CDMA. Simulation results show a significant improvement in average delivery ratio and delay, especially in dense network topologies.