window.addEvent('domready', function() {	
	
	if (Browser.Engine.trident /*!Browser.Features.bgsize*/) {
	
		var syncFakeBg = function(fakeBg, bg) {
			return fakeBg.setStyles({
				left:   (bg.offsetLeft   + (Browser.Engine.trident ? 5 : 1)) + 'px',
				top:    (bg.offsetTop    + (Browser.Engine.trident ? 3 : 1)) + 'px',
				width:  (bg.offsetWidth  + (Browser.Engine.trident ? -8-3 : -2)) + 'px',
				height: (bg.offsetHeight + (Browser.Engine.trident ? -8-2 : -2)) + 'px'
			});
		};

		$$('.box .bg').each(function(bg) {
			//document.title = (bg.offsetLeft);
			var fakeBg = new Element('img', {
				src: bg.getStyle('backgroundImage').replace(/^url\(["']?(.*?)["']?\)$/i, '$1') ,
				'class': Browser.Engine.trident ? 'ie-bg' : 'fake-bg'
			});
			
			syncFakeBg(fakeBg, bg);
			fakeBg.inject(bg, 'after');
			
			bg.setStyle('backgroundImage', 'none');
			
			bg.addEvent('resize', function() {
				syncFakeBg(fakeBg, bg);
			});
		});
	}
	
	
	// Browser.Features.bgsize
	if (Browser.Engine.gecko && !Browser.Features.bgsize) {
		$$('button').each(function(el) {
			var fakeEl = new Element('b', {'class':'before-fake-button'}).setStyles({
				height: el.offsetHeight
			}).inject(el, 'before');
			el.addClass('fake-before');
			el.addEvent('mouseenter', function() { fakeEl.addClass('hover'); });
			el.addEvent('mouseleave', function() { fakeEl.removeClass('hover'); });
			//el.set('html', '<b class="before"></b>' + el.get('html'));
		});
	}
	
	if (Browser.Engine.trident && !document.querySelectorAll) {
		
	}
	var recalcContainer = function(container, handleImages) {
		var boxes = container.getElements('.equal');
		var maxH = 0;
		boxes.each(function(box) {
			var size = box.getComputedSize();
			var scrollSize = box.getScrollSize();
			maxH = Math.max(maxH, scrollSize.y - (size.totalHeight - size.height));
		});
		boxes.each(function(box) {
			box.setStyle('height', maxH);
		});
		
		if (typeof(handleImages) == 'undefined' || handleImages) {
			container.getElements('img').addEvent('load', function() { recalcContainer(container, false); });
		}
		/*
		var fakeBgs = container.getElements(Browser.Engine.trident ? '.ie-bg' : '.fake-bg');
		fakeBgs.each(function(fakeBg) {
			syncFakeBg(fakeBg, fakeBg.getNext());
		});
		*/
	};
	$$('.equalize').each(function(container) {
		recalcContainer(container, true);
	});
});