(function ($) {
    jQuery.fn.pngFix = function (settings) {
        settings = jQuery.extend({
            blankgif: '/static/blank.gif'
        },
        settings);
        var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
        var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
        if (jQuery.browser.msie && (ie55 || ie6)) {
            jQuery(this).find("img[src$=.png]").each(function () {
                jQuery(this).attr('width', jQuery(this).width());
                jQuery(this).attr('height', jQuery(this).height());
                var prevStyle = '';
                var strNewHTML = '';
                var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
                var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
                var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
                var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
                var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
                var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
                if (this.style.border) {
                    prevStyle += 'border:' + this.style.border + ';';
                    this.style.border = ''
                }
                if (this.style.padding) {
                    prevStyle += 'padding:' + this.style.padding + ';';
                    this.style.padding = ''
                }
                if (this.style.margin) {
                    prevStyle += 'margin:' + this.style.margin + ';';
                    this.style.margin = ''
                }
                var imgStyle = (this.style.cssText);
                strNewHTML += '<span ' + imgId + imgClass + imgTitle + imgAlt;
                strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;' + imgAlign + imgHand;
                strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
                strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
                strNewHTML += imgStyle + '"></span>';
                if (prevStyle != '') {
                    strNewHTML = '<span style="position:relative;display:inline-block;' + prevStyle + imgHand + 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;' + '">' + strNewHTML + '</span>'
                }
                jQuery(this).hide();
                jQuery(this).after(strNewHTML)
            });
            jQuery(this).find("*").each(function () {
                var bgIMG = jQuery(this).css('background-image');
                if (bgIMG.indexOf(".png") != -1) {
                    var iebg = bgIMG.split('url("')[1].split('")')[0];
                    jQuery(this).css('background-image', 'none');
                    jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')"
                }
            });
            jQuery(this).find("input[src$=.png]").each(function () {
                var bgIMG = jQuery(this).attr('src');
                jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
                jQuery(this).attr('src', settings.blankgif)
            })
        }
        return jQuery
    }
})(jQuery);
(function ($) {
    function getViewportHeight() {
        var height = window.innerHeight;
        var mode = document.compatMode;
        if ((mode || !$.support.boxModel)) {
            height = (mode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight
        }
        return height
    }
    $(window).scroll(function () {
        var vpH = getViewportHeight(),
            scrolltop = (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop),
            elems = [];
        $.each($.cache, function () {
            if (this.events && this.events.inview) {
                elems.push(this.handle.elem)
            }
        });
        if (elems.length) {
            $(elems).each(function () {
                var $el = $(this),
                    top = $el.offset().top,
                    height = $el.height(),
                    inview = $el.data('inview') || false;
                if (scrolltop > (top + height) || scrolltop + vpH < top) {
                    if (inview) {
                        $el.data('inview', false);
                        $el.trigger('inview', [false])
                    }
                } else if (scrolltop < (top + height)) {
                    if (!inview) {
                        $el.data('inview', true);
                        $el.trigger('inview', [true])
                    }
                }
            })
        }
    });
    $(function () {
        $(window).scroll()
    })
})(jQuery);

function img_inview(x) {
    if (!jQuery.browser.msie) {
        x.bind('inview', function (event, visible) {
            if (visible) {
                $(this).animate({
                    opacity: 1
                },
                'normal').pngFix()
            } else {
                $(this).css('opacity', 0)
            }
        });
    }
}

$(document).ready(function () {
    $(document).pngFix();
    img_inview($('img'));
    $('.post').mouseover(function () {
        $(this).children('.permalink').css('display', 'block');
    });
    $('.post').mouseout(function () {
        $(this).children('.permalink').css('display', 'none');
    });
    $('.permalink').mouseover(function () {
        $(this).css('border', 'none');
    });
    $('a').each(function () {
        if (this.hostname != location.hostname &&
            this.hostname != 'egdiary.tumblr.com') {
            $(this).attr('target', '_blank');
        }
    });
    $('.single .text img').css('display', 'none');
    $('.single .text img').load(function () {
        var max = 500;
        if ($(this).width() > max) {
            var img = $(this).clone();
            img.width(max);
            img.css('display', 'inline');
            var a = $('<a>');
            a.attr('href', img.attr('src'));
            a.addClass('image');
            a.append(img);
            $(this).replaceWith(a);
            a.lightBox();
            img_inview(a.children('img'));
        } else
            $(this).css('display', 'inline');
    });
});
