quello che ti serve e' solo sapere quanti pixel sono scrollati e quanto e' alta la viewport
per lasciare piu' o meno tutto come hai fatto tu:
codice:
		$(document).ready(function(){
			function setMenuPosition(){
				var fromTop=$(window).scrollTop()
				var viewPortH=$(window).height()
				if(fromTop>viewPortH) $('#menu').css('top','auto').removeClass('abs').addClass('fixx');
				else $('#menu').removeClass('fixx').addClass('abs').css('top',viewPortH-40);
			}
			$(window).bind('scroll resize load', setMenuPosition);
			
		});
ciao