﻿//function correctPNG() {
//    for (var i = 0; i < document.images.length; i++) {
//        var img = document.images[i]
//        var imgName = img.src.toUpperCase()
//        if (imgName.substring(imgName.length - 3, imgName.length) == "PNG") {
//            var imgID = (img.id) ? "id='" + img.id + "' " : ""
//            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
//            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
//            var imgStyle = "display:inline-block;" + img.style.cssText
//            if (img.align == "left") imgStyle = "float:left;" + imgStyle
//            if (img.align == "right") imgStyle = "float:right;" + imgStyle
//            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
//            var strNewHTML = "<span " + imgID + imgClass + imgTitle
//   + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
//      + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
//   + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
//            img.outerHTML = strNewHTML
//            i = i - 1
//        }
//    }
//}

function correctPNG() {
    var pngArr = new Array();
    for (var i = 0; i < document.images.length; i++) {
        var imgA = document.images[i]
        var imgNameA = imgA.src.toUpperCase();
        if (imgNameA.substring(imgNameA.length - 3, imgNameA.length) == "PNG") {
            pngArr[pngArr.length] = imgA;
        }
    }

    var len = pngArr.length;
    for (var j = 0; j < len; j++) {
        var img = pngArr[j];
        var imgName = img.src.toUpperCase();
        var curImg = new EnhancedImageA(imgName, pngArr[j], onImageLoad);
        var w = 0;
        var h = 0;
        curImg.load();
        function onImageLoad(img) {
            w = img.width;
            h = img.height;
            var imgID = (img.source.id) ? "id='" + img.source.id + "' " : "";
            var imgClass = (img.source.className) ? "class='" + img.source.className + "' " : "";
            var imgTitle = (img.source.title) ? "title='" + img.source.title + "' " : "title='" + img.source.alt + "' ";
            var imgStyle = "display:inline-block;" + img.source.style.cssText;
            if (img.source.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.source.align == "right") imgStyle = "float:right;" + imgStyle
            imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + w + "px; height:" + h + "px;" + imgStyle
  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
            img.source.outerHTML = strNewHTML;
            //alert(img.outerHTML);

        }

    }
}

function EnhancedImageA(src, source, onLoaded) {
    var self = this;
    this.src = src;
    this.width = 0;
    this.height = 0;
    this.onLoaded = onLoaded;
    this.loaded = false;
    this.image = null;
    this.source = source;
    this.load = function() {
        if (this.loaded)
            return;
        this.image = new Image();
        this.image.src = this.src;
        function loadImage() {
            if (self.width != 0 && self.height != 0) {
                clearInterval(interval);
                self.loaded = true;
                self.onLoaded(self); //将实例传入回调函数
            }
            self.width = self.image.width; //是number类型
            self.height = self.image.height;
        }
        var interval = setInterval(loadImage, 100);
    }
}