
Element.addMethods({


	positionNear: function(element, source) {
		var position = Element.cumulativeOffset(source); 
		var parent = source.parentNode;
		element.setStyle({
			left: (position.left  + 15) + 'px',
			top: (position.top - element.getHeight() - parent.scrollTop - 5) + 'px'
		});
		Element.show(element);
	},
	
	hasOverflown: function(element) {
		return element.scrollHeight  > element.offsetHeight;
	},
	
	switchClassName: function(element, passClassName, failClassName, condition) {
	    element.removeClassName(passClassName);
	    element.removeClassName(failClassName);
	    element.addClassName(condition() ? passClassName : failClassName);
	}
});

Position.includeScrollOffsets=true;

