Even though different wireless Network Access Technologies (NAT) with different specifications and applications have been developed, no single wireless technology can satisfy the anytime, anywhere, and any service wireless access needs of mobile users. A real seamless mobile environment is only realized by considering vertical and horizontal handoffs together. One of the major design issues in heterogeneous wireless networks is the support of vertical handoff (VHO). VHO occurs when a user with a multi-interface terminal changes connection from one type of wireless access technology to another while maintaining an active session. In this paper we present a novel multi-criteria VHO algorithm, which chooses the target NAT based on the several factors such as user preferences, system parameters and QoS requirements for different traffic classes. Two modules i.e., VHO Necessity Estimation (VHONE) module and target NAT selection module, are designed. Both modules function based on weighting the different users' and system's parameters. To improve the robustness of our algorithm, the weighting system is designed based on the concept of fuzzy linguistic variables.