var supersleight=function()
{   
    var root=false;
    var applyPositioning=false;
    var shim='/images/x.gif';
    var shim_pattern=/x\.gif$/i;

    var fnLoadPngs=function()
    {
        if(root)
        {
            root=document.getElementById(root);
        }
        else
        {
            root=document;
        }
        
        var i;
        var obj = null;
        
        for(i=document.all.length-1;obj=document.all[i];i--)
        {
            if(obj.currentStyle.backgroundImage.match(/\.png/i)!==null)
            {
                bg_fnFixPng(obj);
            }

            if( (obj.tagName=='INPUT' || obj.tagName=='IMG') && obj.src.match(/\.png.*$/i)!==null)
            {
                el_fnFixPng(obj);
            }
            
            if(applyPositioning&&(obj.tagName=='A'||obj.tagName=='INPUT')&&obj.style.position==='')
            {
                obj.style.position='relative';
            }
        }
    };

    var bg_fnFixPng=function(obj)
    {
        var mode='scale';
        var bg=obj.currentStyle.backgroundImage;
        var src=bg.substring(5,bg.length-2);
        
        if(obj.currentStyle.backgroundRepeat=='no-repeat')
        {
            mode='crop';
        }
        
        obj.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='"+mode+"')";
        obj.style.backgroundImage='url('+shim+')';
    };
        
    var el_fnFixPng=function(img)
    {
        var src=img.src;
        if(img.width){img.style.width=img.width+"px";}
        if(img.height){img.style.height=img.height+"px";}
        
        
        
        img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='scale')";
        img.src=shim;
    };
        
    var addLoadEvent=function(func)
    {
        var oldonload=window.onload;
        if(typeof window.onload!='function')
        {
            window.onload=func;
        }
        else
        {
            window.onload=function()
            {
                if(oldonload)
                {
                    oldonload();
                }

                func();
            };
        }
    };
        
    return{init:function(){addLoadEvent(fnLoadPngs);},limitTo:function(el){root=el;},run:function(){fnLoadPngs();}};}();

    supersleight.init();
