﻿// ==UserScript==
// @name                弹出层
// @description         简易好用定制度高的一个弹出层框架
// @created date        2009/11/12   15:42
// @created author      Tiger(tigershi0507@gmail.com)
// @version             1.0.1
// @version owner       Copyright (C) 2009-2010 keerr.com All rights reserved.
// ==/UserScript==
/*************************************************
verified time 	:	2009/12/9   9:15
verified author	:	Tiger
verified purpose:	增加了floatbox_close这个关闭样式和jsclick动作
**************************************************/
/*************************************************
verified time 	:	2009/12/9   9:59
verified author	:	Tiger
verified purpose:	取消了相应的keypress事件
**************************************************/
/*************************************************
verified time 	:	2009/12/16   18:35
verified author	:	Tiger
verified purpose:	添加了确认“联系方式”
**************************************************/
/*************************************************
verified time 	:	2009/12/17   14:35
verified author	:	Tiger
verified purpose:	添加了确认“联系方式”的真实姓名
**************************************************/
/*************************************************
verified time 	:	2009/12/20   12:23
verified author	:	Tiger
verified purpose:	完成修改了弹出层的样式了
**************************************************/

/*************************************************
verified time 	:	2009/12/29   13:31
verified author	:	Tiger
verified purpose:	迁移linsuo的floatbox至bylou
**************************************************/

/*************************************************
verified time 	:	2009/12/30   15:30
verified author	:	Daniel
verified purpose:	添加function  favoriteLp and callFavorite
**************************************************/
/*************************************************
verified time 	:	2010/1/29   14:52
verified author	:	Tiger
verified purpose:	添加了bylou的快速发布的floatbox实例
**************************************************/

//var scrollHeight = 0;
//$(function() {
//    $(document).scroll(function() {
//        $(this).;
//    });
//});


(function ($) {
    $.floatbox = function (options) {
        var getWidth = function () {
            var version = parseInt($.prototype.jquery.match(/\d/gim)[1]);
            var width;
            if (version > 1) {
                width = $(window).width();
            } else {
                width = document.body.scrollWidth ? document.body.scrollWidth : document.documentElement.scrollWidth;
            }
            return width / 2;
        };
        var settings = $.extend(true, {
            bg: "floatbox-background",
            box: "floatbox-box",
            button: "<p><a role='button' href='javascript:void(0);' class='close-floatbox'>Close</a></p>",
            desc: "This is a popup box, press esc key to close.",
            fade: false,
            ajax: null,
            bgConfig: {
                position: ($.browser.version === "6.0") ? "absolute" : "fixed",
                zIndex: 1888,
                width: "100%",
                height: "100%",
                top: "0px",
                left: "0px",
                backgroundColor: "#000",
                opacity: "0.2",
                display: "none"
            },
            boxConfig: {
                position: ($.browser.version === "6.0") ? "absolute" : "fixed",
                zIndex: 1889,
                width: getWidth() + "px",
                marginLeft: "-" + (getWidth() / 2) + "px",
                height: "auto",
                top: ($.browser.version === "6.0") ? $(document).scrollTop() + $(window).height() / 2 - 80 + "px" : $(window).height() / 2 + "px", //"50%",
                left: "50%",
                display: "none"
            },
            content: {
                head: "百楼",
                summary: "",
                main: ""
            },
            afterClose: function () {
                ;
            },
            afterOpen: function () {
                ;
            }
        },
        options);
        var showBox = function () {

            var content = typeof settings.content.main === "string" ? settings.content.main : settings.content.main.clone();
            $("<div></div>")
            .bind("click",
				function () {
				    closeBox();
				}
			)
            .attr("id", settings.bg)
            .css(settings.bgConfig)
            .width(($.browser.msie) ? document.body.clientWidth : "100%")
			.height(($.browser.msie) ? document.body.clientHeight : "100%")
            .appendTo("body");

            // 绑定box
            var $_popbox =
                $("<div><iframe class=\"bgiframe\" frameborder=\"0\" tabindex=\"-1\" src=\"\"style=\"width:100%;position:absolute;z-index:-1;height:auto;\"/>" +
                '<table style="width: 100%;" id="pop_dialog_table" class="pop_dialog_table">' +
                    '<tbody><tr><td class="pop_topleft"></td><td class="pop_border pop_top"></td><td class="pop_topright"></td></tr>' +
                        '<tr>' +
                            '<td class="pop_border pop_side"></td>' +
                            '<td class="pop_content" id="pop_content">' +
                                '<h2 class="dialog_title"><span>百楼欢迎您</span><span class="poptip_close">X</span></h2>' +
                                '<div class="dialog_content">' +
                                    '<div class="dialog_summary">百楼欢迎您</div>' +
                                    '<div class="dialog_body">' +
                                        '<div class="ubersearch search_profile">' +
                                            '<div class="result clearfix">' +
                                                '<div class="image">' +
                                                    '<span><img src="/images/tupian1.jpg" alt="百楼" class="photo" /></span>' +
                                                '</div>' +
                                                '<div class="info">' +
                                                    '<p><b>About David Walsh</b><br />' +
                                                        'David Walsh, Web Developer' +
                                                    '</p>' +
                                                    '<p></p>' +
                                                '</div>' +
                                                '<div class="clear"></div>' +
                                            '</div>' +
                                        '</div>' +
                                    '</div>' +
                                    '<div class="dialog_buttons">' +
                                        '<div id="btn_site" class="right">' +
                                            '<span class="button button-main "><span><button>关闭</button></span></span>' +
                                            '<span class="button button-main "><span><button>关闭</button></span></span>' +
                                        '</div>' +
                                        '<div class="clear"></div>' +
                                    '</div>' +
                                '</div>' +
                            '</td>' +
                            '<td class="pop_border pop_side"></td>' +
                        '</tr>' +
                        '<tr><td class="pop_bottomleft"></td><td class="pop_border pop_bottom"></td><td class="pop_bottomright"></td></tr>' +
                    '</tbody>' +
                '</table>' +
            "</div>");

            $_popbox.find(".dialog_title span:first").text(settings.content.head);
            $.trim(settings.content.summary) !== "" ? $_popbox.find(".dialog_summary").html(settings.content.summary) : $_popbox.find(".dialog_summary").empty().hide();
            $_popbox.find(".dialog_body").html(settings.content.main);
            $_popbox.find(".dialog_buttons #btn_site").html(settings.content.buttons);
            $_popbox
            .attr({
                id: settings.box,
                role: "alertdialog"
            })
            .css(settings.boxConfig)
            .appendTo("body")
            .css("margin-top", "-" + $("#" + settings.box).height() / 2 + "px")
            .find(".poptip_close").click(function () {
                closeBox();
            })
            .end();

            if (settings.fade) {
                $("#" + settings.bg).fadeIn(200,
                function () {
                    $("div#" + settings.box).fadeIn(200);
                });
            } else {
                $("#" + settings.bg).show().parent().find("#" + settings.box).show();
            }
            if (settings.ajax) {
                $.ajax({
                    type: settings.ajax.params === "" ? "GET" : "POST",
                    url: settings.ajax.url,
                    data: settings.ajax.params,
                    beforeSend: function () {
                        $("#" + settings.box).html(settings.ajax.before);
                    },
                    success: function (data) {
                        $("#" + settings.box).html(data).append(settings.button).find(".close-floatbox").bind("click",
                        function () {
                            closeBox();
                        }).end();
                    },
                    complete: function (XMLHttpRequest, textStatus) {
                        if (settings.ajax.finish) {
                            settings.ajax.finish(XMLHttpRequest, textStatus);
                        }
                    },
                    contentType: "html"
                });
            }

            if ($.isFunction(settings.afterOpen)) {
                settings.afterOpen();
            }
            else {
                return true;
            }
        };
        var closeBox = function () {
            if (settings.fade) {
                $("#" + settings.box).fadeOut(200,
                function () {
                    $("#" + settings.bg).fadeOut(200,
                    function () {
                        if ($.isFunction(settings.afterClose)) {
                            settings.afterClose();
                        }
                        else {
                            return true;
                        }
                    });
                });
                setTimeout(function () {
                    $("#" + settings.box).remove();
                    $("#" + settings.bg).remove();
                },
                500);
            } else {
                $("#" + settings.box + ",#" + settings.bg).hide();
                setTimeout(function () {
                    $("#" + settings.box).remove();
                    $("#" + settings.bg).remove();
                },
                500);
                if ($.isFunction(settings.afterClose)) {
                    settings.afterClose();
                }
                else {
                    return true;
                }
            }
        };
        var init = function () {
            showBox();
            $(document)
            .one("keydown",
            function (e) {
                var escKey = $.browser.mozilla ? 0 : 27;
                if (e.which === escKey) {
                    closeBox();
                }
            });
            if ($.browser.version === "6.0") {
                $(window).bind("scroll",
                function () {
                    $("#" + settings.box).css("top", document.documentElement.scrollTop + ($(window).height() / 2) - 80 + "px");
                });
            }
        };

        // 初始保护处理，保证只有一个floatout对象
        $("#floatbox-box, #floatbox-background").remove();
        init();
    };
})(jQuery);

/// <summary>
/// 关注弹出
/// </summary>
/// <param name=""></param>
/// <param name=""></param>
function payAttention(head_name, lp_name, confirmFun) {
    $.floatbox({
        content: {
            head: head_name,
            summary: "",
            main: '<div class="result clearfix">' +
                        '<div class="image">' +
                            '<span><img src="/images/logo.gif" alt="百楼" class="photo" width="100" /></span>' +
                        '</div>' +
                        '<div class="info">' +
                            '确定添加“' + lp_name + '”至个人后台新鲜事关注列表？' +
                        '</div>' +
                        '<div class="clear"></div>' +
                    '</div>',
            buttons: '<span class="button button-main" onclick="' + confirmFun + '"><span><button>保存</button></span></span>' +
                    '<span class="button visible button-main" onclick="$(\'.poptip_close\').click();"><span><button>取消</button></span></span>'
        },
        boxConfig: { width: "432px", marginLeft: "-" + 424 / 2 + "px" }
    });
    $("#floatbox-background").css("opacity", "0.4"); //.unbind("click");
}



/// <summary>
/// 引用设置
/// </summary>
/// <param name=""></param>
/// <param name=""></param>
function setup(confirmFun) {
    $.floatbox({
        content: {
            head: "设置",
            summary: "",
            main: '<div id="sub-nav" class="memberdttab" style="padding:0; margin:0;">' +
                    '<ul>' +
                        '<li class="selected" id="nav_set_1" style="cursor: pointer;"><a href="javascript:void(0);">新鲜事</a></li>' +
                        '<li id="nav_set_2" style="cursor: pointer;"><a href="javascript:void(0);">通知</a></li>' +
                    '</ul>' +
                    '<div class="clear"></div>' +
                '</div>' +
                '<div class="body opSetBd">' +
			        '<div class="nav_set_1">' +
				        '<p><label onclick="" for="r01"><input type="radio" checked="checked" value="8" name="feedType" id="r01" class="radio"/>允许自动获取此应用内容</label></p>' +
				        '<p><label onclick="" for="r03"><input type="radio" value="0" name="feedType" id="r03" class="radio"/>不允许自动获取此应用内容</label></p>' +
			        '</div>' +
            //'<div style="display: none;" class="nav_set_2">' +
            //    '<p><label for="r05"><input type="checkbox" name="inProfile" id="r05" class="checkbox"/>在个人主页中显示此应用</label></p>'+
            //'</div>'+
			        '<div style="display: none;" class="nav_set_2">' +
				        '<p><label for="r08"><input type="checkbox" checked="checked" name="notice" id="r08" class="checkbox"/>接受来自此应用的消息通知</label></p>' +
			        '</div>' +
		        '</div>',
            buttons: '<span class="button button-main" onclick="' + confirmFun + '"><span><button>保存</button></span></span>' +
                    '<span class="button visible button-main" onclick="$(\'.poptip_close\').click();"><span><button>取消</button></span></span>'
        },
        boxConfig: { width: "432px", marginLeft: "-" + 424 / 2 + "px" },
        afterOpen: function () {
            $("#nav_set_1, #nav_set_2").toggleTabs(
                {
                    HiddenTabsCls: "",
                    ShownTabsCls: "selected",
                    ParentsCls: "memberdttab"
                }
            );
        }
    });
    $("#floatbox-background").css("opacity", "0.6").unbind("click");
}


$(function () {
    $("input").focus(function () {
        $(this).select();
    });
});


/// <summary>
/// 关注小区
/// </summary>
/// <param name=""></param>
/// <param name=""></param>
function payAttentionByXq(xq_id, sts) {
    var name = "";
    switch (sts) {
        case 1:
            name = "租房";
            break;
        case 2:
            name = "求租";
            break;
        case 3:
            name = "二手房";
            break;
        case 4:
            name = "求购";
            break;
    }
    $.floatbox({
        content: {
            head: "关注小区",
            summary: "",
            main: '<div class="result clearfix">' +
                        '<div class="image">' +
                            '<span><img src="/images/logo.gif" alt="百楼" class="photo" width="100" /></span>' +
                        '</div>' +
                        '<div class="info">' +
                            '你将添加此小区的' + name + '信息至个人后台新鲜事关注列表' +
                        '</div>' +
                        '<div class="clear"></div>' +
                    '</div>',
            buttons: '<span class="button button-main" onclick="favoriteXq(' + xq_id + ',' + sts + ');"><span><button>继续</button></span></span>' +
                    '<span class="button visible button-main" onclick="$(\'.poptip_close\').click();"><span><button>取消</button></span></span>'
        },
        boxConfig: { width: "432px", marginLeft: "-" + 424 / 2 + "px" }
    });
    $("#floatbox-background").css("opacity", "0.4"); //.unbind("click");
}

/// 收藏楼盘
function favoriteLp(lp_id) {
    $('.poptip_close').click();
    $.ajax({
        url: "/ajax/GetJson.aspx",
        type: "post",
        dataType: "text",
        data: { type: 'inslpFavorites', lpid: lp_id, pnodid: 0 },
        timeout: 5000,
        error: function () {
            alert("服务器忙!");
        },
        success: function (text) {
            if (text == "-1")
                alert("请登陆!");
            if (text == "2")
                alert("你已经收藏过此楼盘!");
            if (text == "1")
                alert("收藏成功!");
            if (text == "0")
                alert("服务器忙!");
        }
    });

}

/// 关注小区
function favoriteXq(xq_id, sts) {
    $('.poptip_close').click();
    $.ajax({
        url: "/ajax/GetJson.aspx",
        type: "post",
        dataType: "text",
        data: { type: 'feedFyCid', communityid: xq_id, sts: sts },
        timeout: 5000,
        error: function () {
            alert("服务器忙!");
        },
        success: function (text) {
            //
            if (text == "-2")
                alert("请登陆!");
            if (text == "2")
                alert("你已经关注过此小区!");
            if (text == "1") {
                if ($("#guanzhu")) {
                    $("#guanzhu").hide();
                }
                alert("关注成功!");
            }
            if (text == "0")
                alert("服务器忙!");
        }
    });

}


/// 调用收藏楼盘函数
function callFavorite() {
    if (project != undefined && project.length > 0)
        payAttention('关注楼盘', project[0].ProjectName, 'favoriteLp(' + project[0].ProjectID + ');');
    else return;
}


/// <summary>
/// 分享弹出
/// </summary>
/// <param name=""></param>
/// <param name=""></param>
String.prototype.replaceAll = function (s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2);
}


function fxBox(url, title) {
    $.floatbox({
        content: {
            head: '分享',
            summary: '',
            main: '<div>' +
                    '<div class="zxfx_box">' +
                    '    <img src="/images/zxfx_box/zxfx_arrow.gif"  width="8" height="5"  class="zxfx_arrow"/>' +
                    '    <ul>' +
                    '        <li>' +
                    '            <input name="" type="text"  style="float:left; width:190px;" value="' + url + '" id="txtUrl"/>' +
            			'	<div id="d_clip_container" style="position:relative" class="ztBottom">' +
					'<div id="d_clip_button" class="my_clip_button">　</div>' +
				    '</div>' +
                    '        </li>' +
                    '        <li class="zxfx_zt">转帖到' +
                    '            <a title="分享到QQ空间" target="_blank" href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + encodeURIComponent(url) + '"><img src="/images/zxfx_box/ico_Qzone.gif" width="16" height="16"/></a>' +
                    '            <a title="分享到开心网" target="_blank" href="http://www.kaixin001.com/~repaste/repaste.php?&rurl=' + escape(url) + '&rtitle=' + escape(title) + '&rcontent=' + escape(title) + '"><img src="/images/zxfx_box/kaixin001.gif" width="16" height="16" /></a>' +
                    '            <a title="分享到人人网" target="_blank" href="http://share.renren.com/share/buttonshare.do?link=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title) + '"><img src="/images/zxfx_box/ico_renren.gif" width="16" height="16" /></a>' +
            //        '            <img src="/images/zxfx_box/ico_sina.gif" width="16" height="16" />' +
                    '            <a title="分享到百度空间" target="_blank" href="http://cang.baidu.com/do/add?it=' + encodeURIComponent(title) + '&iu=' + encodeURIComponent(url) + '&fr=ien#nw=1"><img src="/images/zxfx_box/fav1.jpg" width="13" height="16" /></a>' +
                    '            <a title="分享到谷歌" target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title) + '"><img src="/images/zxfx_box/google.gif" width="16" height="16" /></a>' +
            //        '            <a title="分享到淘江湖" target="_blank" href=""><img src="/images/zxfx_box/taojh.jpg" width="16" height="16" /></a>' +
            //        '            <a title="分享到白社会" target="_blank" href=""><img src="/images/zxfx_box/baish.gif" width="16" height="16" /></a>' +
                    '        </li>' +
                    '    </ul>' +
                    '</div>' +
                    '</div>',
            buttons: '<span class="button visible button-main" onclick="$(\'.poptip_close\').click();"><span><button>关闭</button></span></span>'
        },
        afterOpen: function () { createFx(url); },
        boxConfig: { width: "330px", marginLeft: "-" + 424 / 2 + "px" }
    });
    $("#floatbox-background").css("opacity", "0.4");
    //alert(decodeURIComponent("http://v.t.sina.com.cn/widget/login.php?url=http%3A%2F%2Fv.t.sina.com.cn%2Fshare%2Fshare.php%3Fappkey%3D696316965url%3Dhttp%253A%252F%252Fwww.cnbeta.com%252Farticles%252F113572.htm%26title%3D%25E7%25BA%25BD%25E7%25BA%25A6%25E6%2597%25B6%25E6%258A%25A5%25E8%25A6%2581%25E6%25B1%2582%25E8%25AE%25B0%25E8%2580%2585%25E5%2581%259C%25E7%2594%25A8Tweet%25E4%25B8%2580%25E8%25AF%258D%2520%25E6%258D%25AE%25E5%259B%25BD%25E5%25A4%2596%25E5%25AA%2592%25E4%25BD%2593%25E4%25BB%258A%25E6%2597%25A5%25E6%258A%25A5%25E9%2581%2593%25EF%25BC%258C%25E3%2580%258A%25E7%25BA%25BD%25E7%25BA%25A6%25E6%2597%25B6%25E6%258A%25A5%25E3%2580%258B%25E6%25A0%2587%25E5%2587%2586%25E5%258C%2596%25E7%25BC%2596%25E8%25BE%2591%25E8%258F%25B2%25E5%25B0%2594%2526middot%253B%25E7%25A7%2591%25E8%25B4%259D%25E7%2589%25B9%28Phil%2520%2520Corbett%29%25E5%258F%2591%25E8%25A1%25A8%25E4%25BA%2586%25E4%25B8%2580%25E9%25A1%25B9%25E5%25A4%2587%25E5%25BF%2598%25EF%25BC%258C%25E8%25A6%2581%25E6%25B1%2582%25E8%25AE%25B0%25E8%2580%2585%25E5%2581%259C%25E6%25AD%25A2%25E7%2594%25A8%2526ldquo%253BTwitter%2526rdquo%253B%25E4%25B8%2580%25E8%25AF%258D%25E6%258D%258F%25E9%2580%25A0%25E5%2590%2584%25E7%25A7%258D%25E7%2594%259F%25E5%2583%25BB%25E7%259A%2584%25E5%258F%2598%25E4%25BD%258D%25E5%25BD%25A2%25E5%25BC%258F%25E3%2580%2582%25E5%2590%258C%25E6%2597%25B6%25EF%25BC%258C%25E7%25A7%2591%25E8%25B4%259D%25E7%2589%25B9%25E4%25B9%259F%25E9%25A2%2584%25E8%25A8%2580%25EF%25BC%259A%2526ldquo...%2520http%253A%252F%252Fwww.cnbeta.com%252Farticles%252F113572.htm%26source%3DcnBeta.com%26sourceUrl%3Dhttp%253A%252F%252Fwww.cnbeta.com%26content%3Dgb2312%26pic%3D"));
}

function createFx(url) {
    var clip = new ZeroClipboard.Client();
    clip.setHandCursor(true);
    clip.addEventListener('load', function () { });
    clip.addEventListener('mouseOver', function () { clip.setText(url); });
    clip.addEventListener('complete', function () { alert("已经复制到剪贴面板！"); });
    clip.glue('d_clip_button', 'd_clip_container');
}

