﻿
/// <reference path="BxJsLib.js" />
/// <reference path="BxUser.js" />
/// <reference path="BxGuestbook.js" />
/// <reference path="BxComment.js" />
/// <reference path="BxProduct.js" />

//常用公共部分，请不要轻易修改删除
//#region 常用公共部分，请不要轻易修改删除
//站点配置
var siteConfig = { defaultLang: "cn" //默认语言版本
}
//添加动态插件
Bx.Environment.addPlugin("share",  "Bx.Plugin.Others.Share","/js/plugins/share.js" );

function imgError(imgObj, imgSrc)
{
    var src = imgSrc ? imgSrc : "/skins/default/images/nopic1.gif";
    $(imgObj).src = src;
}
function webLoadParentPage(parentPageUrl)
{
    /// <summary>自动加载父层页面</summary>
    if (window == window.parent)
    {
        window.parent.location = parentPageUrl;
    }
}




function replaceParamVal(paramName, replaceWith)
{
    var oUrl = this.location.href.toString();
    var nUrl = "";
    if (Bx.Pub.GetUrlParam("ordermode") == "")
    {
        if (oUrl.indexOf("?") > 0)
        {
            nUrl = oUrl + ("&" + paramName + "=" + replaceWith);
        }
        else
        {
            nUrl = oUrl + ("?" + paramName + "=" + replaceWith);
        }
    }
    else
    {
        var re = eval('/(' + paramName + '=)([^&]*)/gi');

        nUrl = oUrl.replace(re, paramName + '=' + replaceWith);

    }
    this.location.href = nUrl;


}

var webHelper = function ()
{
    /// <summary>网页助手</summary>

    return {
        showCommentPnl: function (canv, ownerId, options)
        {
            bxPlugin.run("comment", function ()
            {
                bxComment.showPnl(canv, ownerId, options);
            }, true);
        },
        getLang: function ()
        {
            /// <summary>返回当前页面语言</summary>
            var url = window.location.href.toLowerCase();
            if (url.indexOf("/cn/") >= 0) { return siteConfig.defaultLang; }
            else if (url.indexOf("/en/") >= 0) { return "en"; }
            else if (url.indexOf("/jp/") >= 0) { return "jp"; }
            else { return siteConfig.defaultLang; }
        },
        initTab: function (obj)
        {
            /// <summary>初始化选项卡控件</summary>
            /// <param name="obj">对象</param>

            bxPlugin.run("tab", function ()
            {
                if (obj) { bxtTab.init(obj); }
                else
                {
                    bxTab.initDefault();
                }
            }, true);
        },
        loadVideo: function (canv, url, imgsrc, options)
        {
            /// <summary>加载视频</summary>
            var ps = { vcastr_file: url, LogoText: "", BufferTime: 3, IsAutoPlay: (options.p("isAutoPlay", false) ? 1 : 0) };
            var options = $O(options);
            bxWriteFlash(canv, "/skins/default/flash/flvplayer2.swf", options.p("playerid", "flvplayer"), "100%", "100%", 9, { wmode: "transparent", allowFullScreen: true }, ps);
            //bxWriteFlash("divVideo", swf, "f29", "100%", "100%", "7", { wmode: transparent, allowfullscreen: true }, { vcastr_file: flvUrl, LogoText: "", BufferTime: 3, IsAutoPlay: 1 });
        },
        fixArticle: function (articleId)
        {
            /// <summary>修复文章显示页面相关</summary>
            var pnl = $("divArticle" + articleId);
            var spHits = $("spArticleHits" + articleId);
            if (spHits)
            {
                bxPlugin.run("article", function ()
                {
                    bxArt.getHits(articleId, function (hits)
                    {
                        spHits.innerHTML = hits;
                    });
                }, true);
            }
            var aPre = $("aArticlePre" + articleId);
            if (aPre && aPre.innerHTML.trim() == "") { aPre.html(webHelper.getWords("没有了", "no")); aPre.href = "#none"; }
            var aNext = $("aArticleNext" + articleId);
            if (aNext && aNext.innerHTML.trim() == "") { aNext.html(webHelper.getWords("没有了", "no")); aNext.href = "#none"; }
        },
        addUserFav: function (favId, groupname, callBack)
        {
            /// <summary>添加到用户收藏夹</summary>

            bxPageAPI("/api/apiuser.aspx", "adduserfav", ["favid", favId, "groupname", groupname], function (code, mes, response)
            {
                if (code == 0)
                {
                    if (callBack) { callBack(code, mes, response); }
                }
                else
                {
                    alert(mes);
                }
            }, { appid: "BxUserAPI" });
        },
        runUserLogined: function (callBack, useOpenMode)
        {
            /// <summary>检测用户是否登录，并自动执行绑定方法</summary>
            bxPlugin.run("user", function ()
            {
                bxUser.runLogined(callBack, useOpenMode);
            }, true);

        },
        setHome: function (obj, url)
        {
            /// <summary>设为首页</summary>
            /// <param name="obj">操作对象</param>
            /// <param name="url">地址</param>
            if (document.all)
            {
                document.body.style.behavior = 'url(#default#homepage)';
                document.body.setHomePage(document.URL);
            } else if (window.sidebar)
            {
                if (window.netscape)
                {
                    try
                    {
                        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                    } catch (e)
                    {//火狐浏览器
                        alert("该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config, 然后将项 signed.applets.codebase_principal_support 值该为true");
                    }
                }
                var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
                prefs.setCharPref('browser.startup.homepage', document.URL);
            }
        },
        getWords: function (cn, en, jp)
        {
            var lang = webHelper.getLang();
            if (lang == "en") { return en; }
            else if (lang == "jp") { return jp; }
            else { return cn; }
        },
        emailSubscribe: function (email, categoryId, callBack)
        {
            /// <summary>邮件预订</summary>
            var ps = { email: email, categoryid: categoryId };
            bxPageAPI("/api/api.aspx", "emailSubscribe", ps, function (code, mes, response)
            {
                if (code == 0) { alert("预订成功"); }
                else { alert("提交错误：" + mes); }
                if (callBack) { callBack(code, mes, response); }
            });
        },
        autoShare: function ()
        {
            bxBatch($C("autoShare"), function (d, i)
            {
                if (d.__hasShare) { return; }
                var d2 = $E("span", { className: 'spLinkList' });
                d.innerHTML = "<span class='spText'>分享到：</span>";
                d.appendChild(d2);
                webShare().writeAll(d2);

                d.__hasShare = true;
            });
        },
        autoSetFen: function (obj)
        {
            /// <summary>自动设置评价分数</summary>
            var sps = obj ? [$(obj)] : $C("autoFen"); //alert(sps.length);
            bxBatch(sps, function (sp, i)
            {
                if (sp.hasSet) { return; }
                sp.hasSet = true;
                var v = bxParseInt(sp.p("v", 0), 0);
                var tab = $E("table", { className: "tabFen" });
                tab.addRow();
                for (var j = 1; j <= 5; j++)
                {
                    if (v >= j) { tab.addCell().className = "v2"; }
                    else if (v >= j - 0.5) { tab.addCell().className = "v1"; }
                    else { tab.addCell().className = "v0"; }
                }
                sp.appendChild(tab);
            });
        }
    }
} ();

function webSearch()
{
    /// <summary>网站文章搜索</summary>
    var txt = $("txtKeywords");
    var str = txt.value.trim();
    if (str == "" || str == txt.defaultValue)
    {
        alert("请输入搜索关键词"); return false;
    }
    var url = "/" + webHelper.getLang() + "/search.html?k=" + encodeURI(str);
    window.top.location.href = url;
    return false;
}

function webShare()
{
    /// <summary>返回网页共享操作类</summary>
    var share;
    bxPlugin.run("share", function ()
    {
        share = Bx.Plugin.Others.Share;
    });
    return share;

}
//#endregion

//#region 页面操作
var webPages = function ()
{
    return {
        comm: function ()
        {
            return {
                init: function ()
                {
                    addReady(function () { webUserGetInfo("divTopUserInfo"); });
                    var spTopCart = $("spTopCart");
                    if (spTopCart)
                    {
                        pdtCart.getCount(function (code, mes, response)
                        {
                            if (code == 0) { spTopCart.html(response.get("count")); }
                        });
                    }
                    var divPdtRecentView = $("divPdtRecentView");
                    if (divPdtRecentView)
                    {
                        bxProduct.Funs.getHtmlPdtRecentView(5, "", function (code, mes, response)
                        {
                            if (code == 0) { divPdtRecentView.html(response.get("htmltext")); }
                            else { }
                        });
                    }
                    addOnload(function ()
                    {
                        bxSys.runJsFile(Bx.Environment.GetWebSiteUrl("/api/api.aspx?method=getFloatWindow&mode=normal"), function ()
                        {
                        }, true);
                        webHelper.autoSetFen();
                    });

                }
            }
        } (),
        index: function ()
        {
            return {
                init: function ()
                {
                    /* bxProduct.Funs.getHtmlPdtRecentView(5, "", function (code, mes, response)
                    {
                    if (code == 0) { $("divPdtRecentView").html(response.get("htmltext")); }
                    else { }
                    });*/
                    bxPlugin.initTab();
                    $("aLogin").onclick = function () { webShowLogin(); return false; }
                    $("aRegister").onclick = function () { webShowRegist(); return false; }
                    $("aGetPsw").onclick = function () { webShowGetPassword(); return false; }
                }
            }
        } (),
        userIndex: function ()
        {
            /// <summary>用户中心首页</summary>
            var config = { userId: 0 }
            return {
                init: function (userId)
                {
                    config.userId = userId;
                    var ifrTarget = $("ifrTarget");
                    this.setTarget(getTarget());
                    /*$("imgPhoto").onclick = function ()
                    {
                    webPages.userIndex.setTarget("baseinfo");
                    }*/
                    setTimeout(function ()
                    {
                        bxPub.resizeIframe();
                        setTimeout(arguments.callee, 200);
                    }, 200);
                    ifrTarget.onload = function ()
                    {
                        var wnd = ifrTarget.contentWindow; //alert(wnd._tabBack);
                        var pnl = $("divUserIndex");
                        if (wnd._pnlClass) { pnl.className = "divHA divUserIndex " + wnd._pnlClass; }
                        else { pnl.className = "divHA divUserIndex"; }
                        window.top.location.hash = "#target=" + encodeURIComponent(wnd.location.pathname + wnd.location.search + wnd.location.hash);
                    }
                },
                setTarget: function (target)
                {
                    window.top.location.hash = "#target=" + encodeURIComponent(target);
                    var ifrTarget = $("ifrTarget");
                    ifrTarget.src = target.indexOf(".") > 0 ? target : (target + "/index.aspx");
                    return false;
                },
                getVisitUser: function ()
                {
                    bxPageAPI("", "getVisitUser", {}, function (code, mes, response)
                    {
                        if (code == 0)
                        {
                            $("spVisitCount").html(response.get("totalcount"));
                            $("divVisitorList").html(response.get("htmltext"));
                            //$("divFriendList").html(response.get("htmltext"));
                        }
                        else { alert(mes); }
                    });
                }
            }
            function getTarget()
            {
                var str = window.top.location.hash;
                if (str.length > 1)
                {
                    var qs = new bxQueryString(str.substr(1), false);
                    str = qs.getValue('target');
                }
                else { str = ""; }
                return str.length > 0 ? decodeURIComponent(str) : "userindex.aspx";
            }

        } (),
        travelDetail: function ()
        {
            return {
                init: function (options)
                {

                }
            }
        } ()
    }
} ();
//#endregion

