function distribute(container, elements, direction, class) {
	var containerDimen = Element.getDimensions(container);
	var containerChildren = $(container).childNodes;
	var element = $(container).getElementsByTagName(elements);
	
	if (direction == 'vertical') {
		var containerHeight = containerDimen.height;
		containerHeight -= (parseInt(Element.getStyle(container, 'padding-top')) + parseInt(Element.getStyle(container, 'padding-bottom')));
	} else {
		var containerWidth = containerDimen.width;
		containerWidth -=  2 * (parseInt(Element.getStyle(container, 'padding-left')) + parseInt(Element.getStyle(container, 'padding-right')));		
	}
	
	var elementWidth = 0;
	var elementHeight = 0;
	var i = 0;
	
	for (var x = 0; x < element.length; x++) { 
		if ((class == null) || ((class != null) && (Element.hasClassName(element[x], class)))) {
			i++;
			var elemDimen = Element.getDimensions(element[x]);
			if (direction == 'vertical') {
				elementHeight += elemDimen.height;
				Element.setStyle(element[x], { marginTop: 0, marginBottom: 0 });
			} else {
				elementWidth += elemDimen.width;
				Element.setStyle(element[x], { width: elemDimen.width + 'px', marginLeft: 0, marginRight: 0 });
			}
		}
	}
	
	if (direction == 'vertical')
		var leftover = containerHeight - elementHeight;
	else
		var leftover = containerWidth - elementWidth;
	
	var marginNum = i - 1;
	alert(marginNum);
	var margin = Math.floor(leftover / marginNum);
	
	for (var x = 0; x < element.length; x++) {
		if ((class == null) || ((class != null) && Element.hasClassName(element[x], class))) {
			if (direction == 'vertical') {
				if (x != (i - 1))
					Element.setStyle(element[x], { marginBottom: margin + 'px' });
			} else {
				if (x != (i - 1))
					Element.setStyle(element[x], { marginRight: margin + 'px' });			
			}
		}
	}	
}
