var MD=MD||{};
MD.pngFix=new Class(
{
	Implements: [Options],
	options: 
	{
		blank:'gene/img/shim.gif'		
	},
	initialize: function(options)
	{
		if (options)
		{
			this.setOptions(options);
		}
		
		window.addEvent("domready", function() 
		{
			if(window.ie6)
			{
				this.Imgs();
				this.Bck(['.png','.overpng','.switchpng']);
			}
		}.bind(this));
	},
	Imgs:function()
	{
		$(document.body).getElements('img').each(function(img)
		{
			if(img.hasClass('png'))
			{
				this.Img(img);
			}
		}.bind(this));
	},
	Img:function(img)
	{
		var iPr=img.getProperties('id','src','title','alt','align');
		if (iPr.src.test('.png', 'i'))
		{
			var imgStyles=img.getStyles();
			var imgDisplay='inline-block';
			if (iPr.align=='left')var iF='left';
			if (iPr.align=='right')var iF='right';	
			if (img.getParent().getProperty('href'))var imgCursor = 'hand';
			var replacement = new Element('span',
			{
				'id':(iPr.id)?iPr.id:'',
				'class':(img.className)?img.className:'',
				'title': (iPr.title)?iPr.title:(iPr.alt)?iPr.alt:'',
				'styles':
				{
					'display':imgDisplay,
					'width':img.getWidth()+'px',
					'height':img.getHeight()+'px',
					'cursor':imgCursor,
					'float':(iF)?iF:'',
					'filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader (src='" + iPr.src + "', sizingMethod='crop');"	
				},
				'src':iPr.src
			}).setStyles(imgStyles).cloneEvents(img).replaces(img);
		}
	},
	Bck: function(bg)
	{
		//$$(bg).each(function(img) 
		$$('.png').each(function(img)				   
		{
			var iU=img.getStyle('background-image');
			if(iU.test(/\((.+)\)/))
			{
				var imSrc=iU.match(/\((.+)\)/)[1];
				
				if((img.tagName=="a")&&(img.hasClass('overpng')))
				{
					if(iU.test(/\((.+)\)/))
					{
						var w=img.getSize().x;
						var h=img.getSize().y;
										
						img.setStyles(
						{
							'background-image': 'url("'+this.options.blank+'")',
							'overflow':'hidden',
							'cursor':'pointer'
						});

						var c=img.get('html');
						img.empty();
						var div1=new Element('div',{'styles':{'position':'relative','height':h,'width':w,'overflow':'hidden','cursor':'pointer'}});		
						div1.inject(img);
						var div2=new Element('div',{'styles':{'height':h,'width':w}}).set('html',c);
						div2.inject(div1);
						var div3=new Element('div',{'styles':{'position':'relative', 'top':'0px','height':h,'width':w,'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image', src=" + iU.match(/\((.+)\)/)[1] + ")"}});
						div3.inject(div1,'top');
						img.addEvent('mouseenter',function()
						{
							div3.setStyle('top',(h*-1));
						});
						img.addEvent('mouseleave',function()
						{
							div3.setStyle('top',0);
						});
					}
				}
				else
				{
					if(img.hasClass('switchpng'))
					{
						img.setStyles({
							'background-image': 'none',
							'cursor':'pointer',
							'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src=" + imSrc + ")"
						});
						img.setStyle('background-image','url("'+this.options.blank+'")');
						var a=String(imSrc).split('/');
						a[a.length-1]='over_'+a[a.length-1];
						var imgSrcOver=a.join('/');
						img.addEvent('mouseenter',function()
						{
							img.setStyle('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src=" + imgSrcOver + ")");
						});
						img.addEvent('mouseleave',function()
						{
							img.setStyle('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='crop', src=" + imSrc + ")");
						});
					}
					else
					{
						img.setStyles({
							'background-image': 'none',
							'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale', src=" + imSrc + ")"
						});
						img.setStyle('background-image','url("'+this.options.blank+'")');
					}					
				}
			};
		}.bind(this));
	}
});