
window.addEvent('domready', function() {
	// put the ID's of the elements into the arrays
	// e.g. var scale_elements = ['id1', 'id2'];
//	var scale_elements = []; // the image will be scaled to fit the dimensions of the object. (opaque backgrounds etc)
//	var crop_elements = []; // the image will be cropped to fit the dimensions of the object. (images with rounded corners etc)
	
	var scale_elements = $$('.pngBg');
	var crop_elements = $$('.pngCrop');
	
	new PngFixer(crop_elements, scale_elements);
});


var PngFixer = new Class({
	initialize: function(crop_elements, scale_elements) {
		if (!/MSIE\s6/.test(navigator.userAgent)) {
			// not IE6
			return;
		}
		var imgs = $$('img');
		var pngs = new Array();
		imgs.each(function (e) {
			if (/\.png$/i.test(e.src)) {
				var p = e.getParent();
				p.setStyles({
					width: e.getAttribute('width'),
					height: e.getAttribute('height'),
					display: 'block',
					filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=\'crop\', src=\'' + e.src + '\')'
				});
				e.setStyles({
					display: 'none'
				})
				if (p.nodeName == 'A') {
					p.style.cursor = 'pointer';
				}
			}
		});

		var regex = /url\(['"](.*)['"]\)/;
		if (crop_elements) {
			crop_elements.each(function (e) {
				var e = $(e);
				if (!e) {
					return;
				}
				var matches = regex.exec(e.getStyle('backgroundImage'));
				if (matches) {
					var filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="crop", src="' + matches[1] + '")';
					this.setFilter(e, filter);
				}
			}, this);
		}
		if (scale_elements) {
			scale_elements.each(function (e) {
				var e = $(e);
				if (!e) {
					return;
				}
				var matches = regex.exec(e.getStyle('backgroundImage'));
				if (matches) {
					var filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="scale", src="' + matches[1] + '")';
					this.setFilter(e, filter);
				}
			}, this);
		}
	},
	setFilter: function(e, filter) {
		var styles = {
			background: 'none',
			filter: filter
		}
		var backgroundColor = e.getStyle('background-color');
		if (backgroundColor) {
			styles.backgroundColor = backgroundColor;
		}
		e.setStyles(styles);
	}
});
