﻿if (window.top == window) {

    // add recommendations
    $(document).ready(function () {
        if (window.location.toString().indexOf("/archive/") < 0) return;
        if (window.top != window) return;

        window.__requestRandomLinksCallback = function (html, textStatus) {
            try {
                var dataArray = [];

                var pattern = /<div\s+class="posthead">\s*<h2>\s*<a\s+id="[^"]+"\s+href="([^"]+)">([^<]+)<\/a>\s*<\/h2>\s*<\/div>/g;
                var match = pattern.exec(html);
                while (match != null) {
                    dataArray.push({ link: match[1], text: match[2] });
                    match = pattern.exec(html);
                }

                var count = Math.min(dataArray.length, 10);
                if (count <= 0) return;

                for (var i = 0; i < count; i++) {
                    var index = Math.floor(Math.random() * (dataArray.length - i)) + i;
                    var temp = dataArray[index];
                    dataArray[index] = dataArray[i];
                    dataArray[i] = temp;
                }

                var recommendList = $("<ul></ul>");
                for (var i = 0; i < count; i++) {
                    var d = dataArray[i];
                    recommendList.append($('<li><a href="' + d.link + '">' + d.text + '</a></li>'));
                }

                window.__recommendBlock.html("").append(recommendList);
            } catch (e) { }
        }

        try {
            var as = $("#main > .post > .posthead > a").filter(function (index) {
                return $(this).attr("href").indexOf("/category/") > 0;
            });

            var categoryLinks = [];
            for (var i = 0; i < as.length; i++) {
                categoryLinks.push($(as[i]).attr("href"));
            }

            if (categoryLinks.length <= 0) return;

            var block = $('<div class="post" style="padding-right:20px"><ul style="list-style:none;"><li>正在加载，请稍候……</li></ul></div>');
            var container = $("<div id=\"hack__recommendContainer\"><h3>也许您会对以下内容感兴趣：</h3></div>").append(block);
            $("#main > .post").after(container);
            window.__recommendBlock = block;

            var link = categoryLinks[Math.floor(Math.random() * categoryLinks.length)];
            $.get(link + "?Show=All", null, window.__requestRandomLinksCallback, "html");
        } catch (e) { }
    });

    window.__loadJs = function (file) {
        var head = $('head');
        $("<scri" + "pt>" + "</scr" + "ipt>").attr({ src: file, type: 'text/javascript' }).appendTo(head);
    }

    // change sidebar
    window.__blog.sideContainerRendered = function (c) {
        $(c).find("#side-recent-posts > ul > li").slice(10).remove();
        $(c).find("#side-recent-comments > ul > li").slice(20).remove();
        $(c).find("#side-top-posts-custom > ul").attr("class", "bullet");
        $(c).find("#side-top-posts > ul").attr("class", "bullet");
        $(c).find("#side-team").remove();

        // add scroll panel
        var maq = $('<marquee direction="up" behavior="scroll" scrollamount="2" scrolldelay="40" style="width:100%; height:250px;" onmouseover="this.stop()" onmouseout="this.start()"></marquee>');
        if ($.browser.mozilla) { maq.css("overflow", "hidden"); }
        maq.append($("#side-recent-comments > ul").remove());
        $("#side-recent-comments").append(maq);

        // charts
        var charts = $(
		'<div id="side-charts">' +
			'<h2>My Technical Area</h2>' +
			'<div style="text-align:center;">' +
				'<iframe frameBorder="0" scrolling="no" width="310px" height="375px" src="http://files.cnblogs.com/blodfox777/blog-charts.xml"></iframe>' +
			'</div>' +
		'</div>')
        $(c).append(charts);
        window.__blog.sidebar.mainElements.push("side-charts");

        // move side-top-posts to right;	
        var ta = window.__blog.sidebar.leftElements;
        var na = [];
        var len = ta.length;
        for (var i = 0; i < ta.length; i++) {
            if (ta[i] != "side-top-posts") { na.push(ta[i]); }
        }
        window.__blog.sidebar.leftElements = na;
    }

    // resize content
    function doContentResize() {
        var width = $("#wrapper").width() - 465;
        $("#content").css("width", width + "px");
    }

    window.__blog.postRendered = function () {
        doContentResize();
        $(window).resize(function () { doContentResize(); setTimeout(doContentResize, 1000); });
    }
}
