var supersleight        = function() {
        
        var root = false;
        var applyPositioning = true;
        
        // Path to a transparent GIF image
        var shim                        = '/x.gif';
        
        // RegExp to match above GIF image name
        var shim_pattern        = /x\.gif$/i;
        
        
        
        var fnLoadPngs = function() { 
                if (root) {
                        root = document.getElementById(root);
                }else{
                        root = document;
                }
                for (var i = root.all.length - 1, obj = null; (obj = root.all[i]); i--) {
                        // background pngs
                        if (obj.currentStyle.backgroundImage.match(/\.png/i) !== null) {
                                bg_fnFixPng(obj);
                        }
                        // image elements
                        if (obj.tagName=='IMG' && obj.src.match(/\.png$/i) !== null){
                                el_fnFixPng(obj);
                        }
                        // apply position to 'active' elements
                        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;
                img.style.width = img.width + "px";
                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();
                }
        };
}();

// limit to part of the page ... pass an ID to limitTo:
// supersleight.limitTo('header');
