- if (realSrc && element.src == realSrc) {
- // this is an attempt to set the image to itself!
- // pointless - leave the filter as-is, restore the blank image
- element.src = blankSrc;
- } else {
- // set the image to something different
- if (IS_PNG.test(element.src)) {
- // fixable PNG
- realSrc = element.src;
- realWidth = element.width;
- realHeight = element.height;
- element.src = blankSrc;
- element.style.width = realWidth + 'px';
- element.style.height = realHeight + 'px';
- element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(realSrc) + "',sizingMethod='scale')";
- } else {
- // ordinary image - make sure the fix is removed
- if (realSrc) {
- realSrc = null;
- element.runtimeStyle.filter = '';
- }
- }
- }
+ // get src
+ var src = element.src;
+
+ // check for real change
+ if (src == realSrc && /\.png$/i.test(src)) {
+ element.src = blankSrc;
+ return;
+ }
+
+ if ( ! new RegExp(blankSrc).test(src)) {
+ // backup old src
+ realSrc = src;
+ }
+
+ // test for png
+ if (/\.png$/i.test(realSrc)) {
+ // set blank image
+ element.src = blankSrc;
+ // set filter
+ element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." +
+ "AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
+ }
+ else {
+ // remove filter
+ element.runtimeStyle.filter = "";
+ }