/*
Script: Element.Dimensions.Extras.js
*/

Element.implement({
	getScrollMax: function(x,y,offset) {
		if (!offset) var offset = {'x':0, 'y':0};
		var offsetSize = this.getSize(), scrollSize = this.getScrollSize();
		var scroll = this.getScroll(), values = {'x': x, 'y': y};
		for (var z in values){
			var max = scrollSize[z] - offsetSize[z];
			if ($chk(values[z])) {
				values[z] = ($type(values[z]) == 'number') ? values[z].limit(0, max) : max;
			} else {
				values[z] = scroll[z];
			}
			values[z] += offset[z];
		}
		return {now:{'x':scroll.x, 'y':scroll.y}, max:{'x':values.x, 'y':values.y}};
	},
	
	isScrollMaxY: function() {
		var scroll = this.getScrollMax(false,'bottom');
		if (scroll.now.y == scroll.max.y) return true;
	},
	
	isScrollMaxX: function() {
		var scroll = this.getScrollMax('right',false);
		if (scroll.now.x == scroll.max.x) return true;
	}
});

