/** * PNGFix * @version 1.0 * 2008. 04. 26. * @package JavaScripts * @subpackage PNGFIX (IMG | BACKGROUND) * @author E-DOT Interactive Studio * @copyright Copyright (c) 2008, E-DOT */ var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) function fixAllPNG(d,E,b,i,a) { d=document;E=d.documentElement;b=d.body;if(!E)return; var t = new Array(); var idx = 0; for(i=0;a=b.getElementsByTagName("img")[i];i++) { if (a.src.match(/^.*\.png$/)) { t[idx++] = a; } } for (i in t) { fixPNG(t[i]); } } function fixPNG(myImage) { if ((version >= 5.5) && (version < 7) && (document.body.filters)) { var found = false; var a = myImage; while (a=a.parentNode) { if (a.tagName && a.tagName.toLowerCase() == "a") { found = true; break; } } var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "" var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "" var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' " var imgStyle = "display:inline-block;" + myImage.style.cssText var styles = [["styleFloat", "float"], ["margin", "margin"]]; var style = ""; for (i in styles) { s = ""; if (window.getComputedStyle) s = window.getComputedStyle(myImage,null)[styles[i][0]]; else if(myImage.currentStyle) s = myImage.currentStyle[styles[i][0]]; if (s) style += styles[i][1] + ":" + s + ";"; } var strNewHTML = "
" myImage.outerHTML = strNewHTML } } function bgsleight() { this.fnLoadPngs = function() { if (!(navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)) return; var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5 && Number(rslt[1]) < 7); for (var i = document.all.length - 1, obj = null; (obj = document.all[i]); i--) { if (itsAllGood && obj.currentStyle.backgroundImage.match(/\.png/i) != null) { fnFixPng(obj); obj.attachEvent("onpropertychange", fnPropertyChanged); } } } function fnPropertyChanged() { if (window.event.propertyName == "style.backgroundImage") { var el = window.event.srcElement; if (!el.currentStyle.backgroundImage.match(/data:image\/gif;base64,0/i)) { var bg = el.currentStyle.backgroundImage; var src = bg.substring(5,bg.length-2); el.filters.item(0).src = src; el.style.backgroundImage = "url(data:image/gif;base64,0)"; } } } function fnFixPng(obj) { var bg = obj.currentStyle.backgroundImage; var scale = 'crop'; if (obj.currentStyle.pngBgSizing) scale = (obj.currentStyle.pngBgSizing == 'none'?'':obj.currentStyle.pngBgSizing); var src = bg.substring(5,bg.length-2); obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "'" + (scale?", sizingMethod='" + scale + "'":"") + ")"; obj.style.backgroundImage = "url(data:image/gif;base64,0)"; } } fixbgpng = new bgsleight();