/**
 * Javascript class for transparent png's in IE6
 *
 * @category   Javascript
 * @package    Dessign
 * @copyright  Copyright (c) 2009 Dessign GmbH
 * @author     Tomasz Brniak <tomaszbrniak@dessign.de>
 */

transparentImage = function(v) {
	this.init(v);
}

$.extend(transparentImage.prototype, {
   // object variables
	filename: '',
	images : '',
	bgImages : '',

	init: function(_obj) {
		
		this.filename = _obj.filename || 'x.gif';
		this.images = _obj.images || true;
		this.bgImages = _obj.bgImages || false;
		this.start();
	},
	
	start: function() {
		if ($.browser.msie && $.browser.version.substring(0,1) === '6') {
			var self = this;
			if(this.images === true) {
				$(document.body).find("img").each(function() {
					if($(this).attr('src').match((/\.png$/i))) {
						self.el_fnFixPng($(this));
					}
				});
			}
			
			if(this.bgImages === true) {
				$(document.body).find("div").each(function() {
					if($(this).css('background-image') != '' && $(this).css('background-image').match((/\.png$/i))) {
						self.bg_fnFixPng($(this));
					}
				});
			}
		}
	},
	
	el_fnFixPng: function (img) {
		var src = img.attr('src');
		img.css('width', img.attr('width') + "px");
		img.css('height', img.attr('height') + "px");
		img.css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')");
		img.attr('src', this.filename);
	},
	
	bg_fnFixPng: function(obj) {
		var mode = 'scale';
		var bg	= obj.css('background-image');
		var src = bg.substring(5,bg.length-2);
		if (obj.css('background-repeat') == 'no-repeat') {
			mode = 'crop';
		}
		obj.css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')");
		obj.css('background-image','url('+this.filename+')');
	}
});