﻿(function($) {
	if (document.addEventListener) {
		$.addEvent = function(el,event,handler){
			el.addEventListener(event, handler, false);
		}
	} else if (document.attachEvent) {
		$.addEvent = function(el,event,handler){
			el.attachEvent('on' + event, handler);
		}
	}

	$.bottomize = function() {
		Prototype.Browser.FF2 = (Prototype.Browser.Gecko && navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")+8, navigator.userAgent.indexOf("Firefox")+9) == 2);

		var els = document.getElementsByTagName('*');
		for(var i = 0; i < els.length; i++) {
			var el = els[i];
			if (!el.className) continue;
			if (el.className.indexOf('-bottom') == -1) continue;
			var diff = el.parentNode.clientHeight - (el.offsetTop + el.offsetHeight);
			var computedStyle = el.parentNode.currentStyle || document.defaultView.getComputedStyle(el.parentNode, null);
			diff -= parseInt(computedStyle.paddingBottom, 10);
			if (diff > 0) {
				el.style.position = 'relative';
				if (Prototype.Browser.FF2) {
					el.style.top = (diff + 1) + 'px';
				} else {
					el.style.top = diff + 'px';
				}
			}
		}
	}
	
	if (!$.onloadAttached) {
		var self = $;
		$.addEvent(window, 'load', function() {
			setInterval(function() {
				self.bottomize();
			}, 20);
		});
		$.onloadAttached = true;
	}
})({});