﻿jQuery.fn.extend({
    fixPngBackgroundForIE6: function() {
        for (var i = 0; i < this.length; i++) {
            var element = $(this[i]);

            if (!/png/.test(element.css("background-image")))
                return;

            if (element.css("background-image-ie6")) {
                var path = /(.*)\/([^\/]*)$/.exec(location.href)[1] + "extrafolder/";
                var img = /url\((.*)\)/.exec(element.css("background-image-ie6"))[1];
                var src = "url(" + path + "/" + img + ")";
                element.css({
                    "background-image": src
                });
                return;
            }
            var img = /url\(\"(.*)\"\)/.exec(element.css("background-image"))[1];
            element.css({
                filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
                    + img + ")",
                backgroundImage: "none"
            });
            if (element.css("height") == "auto")
                element.css("height", "1px");
        }

        return this;
    },
    fixPngSrcForIE6: function() {
        for (var i = 0; i < this.length; i++) {
            var element = $(this[i]);

            var src = element.attr("src");
            var width = element.width();
            var height = element.height();
            element.replaceWith("<div style=\"filter:progid:DXImageTransform"
             + ".Microsoft.AlphaImageLoader(src='"
             + src + "); height:"
             + height + "px; width:"
             + width + "px; \"></div>");
        }
        return this;
    },
    findOrIs: function(selector) {
        var found = this.find(selector);
        if (this.is(selector))
            return found.add(this);
        return found;
    }
});


$(function() {
    
    if ($.browser.msie && $.browser.version == 6) {
        $("div,a,h2,h1,img,h3,input").each(function() {
            var element = $(this);
            if (!/png/.test(element.css("background-image")))
                return;
            element.fixPngBackgroundForIE6();
        });

        $("img[src$=png]").fixPngSrcForIE6();
        $("img.Png").fixPngSrcForIE6();
    }    
});
