﻿
/// <reference path="BxJsLib.js" />
/// <reference path="BxUser.js" />
/// <reference path="BxGuestbook.js" />
/// <reference path="BxComment.js" />

//常用公共部分，请不要轻易修改删除
//#region 常用公共部分，请不要轻易修改删除
//添加动态插件
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("/en/") >= 0) { return "en"; }
            else if (url.indexOf("/jp/") >= 0) { return "jp"; }
            else { return "cn"; }
        },
        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 = { flv: url, previewImage: imgsrc };
            var options = options || {};
            bxWriteFlash(canv, "/files/videoplayer.swf", options.p("playerid", "flvplayer"), "100%", "100%", 9, { wmode: "transparent", allowFullScreen: true }, ps);
        },
        resizeIframe: function (ifr, param)
        {
            /// <summary>重新调整iframe页面</summary>
            /// <param name="param">参数值,heightAdd:高度增加值</param>

            var ifr = ifr;
            if (ifr == null)
            {
                var f = $C("ifrAuto");
                if (f.length > 0)
                {
                    bxBatch(f, function (obj, index) { webHelper.resizeIframe(obj); });
                }
                else if (window.parent != window)
                {
                    window.parent.webHelper.resizeIframe();
                }
            }
            else
            {
                try
                {
                    var p = ifr.parentNode;
                    var ph = bxGetRuntimeStyle(p, "height");
                    p.style.height = p.offsetHeight + "px";
                    ifr.style.height = "1px";
                    ifr.style.height = bxGetBodyDocumentElement(ifr.contentWindow).scrollHeight + bxGetProperty(param, "heightAdd", 0) + "px";
                    p.style.height = ph;
                } catch (e) { }
            }
        },
        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.innerHTML = "没有了" }
            var aNext = $("aArticleNext" + articleId);
            if (aNext && aNext.innerHTML.trim() == "") { aNext.innerHTML = "没有了" }
        },
        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);
            }
        }
    }
} ();
var lang = webHelper.getLang();
//#endregion

function getWords(cn, en, jp)
{
    if (lang == "en") { return "en"; }
    else if (lang == "jp") { return jp; }
    else { return cn; }
}
function loadVideo(flvUrl)
{
    /// <summary>加载FLV视频</summary>

    var swf = "/skins/default/flash/flvplayer2.swf";
    bxWriteFlash("divVideo", swf, "f29", "100%", "100%", "7", { wmode: transparent, allowfullscreen: true }, { vcastr_file: flvUrl, LogoText: "", BufferTime: 3, IsAutoPlay: 1 });

}
function webShare()
{
    /// <summary>返回网页共享操作类</summary>
    var share;
    bxPlugin.run("share", function ()
    {
        share = Bx.Plugin.Others.Share;
    });
    return share;
    
}
//#endregion

var webOrder = function (aId)
{
    return {
        show: function (title, color, no, categoryname)
        {
            bxOpenWindow("", "/web/html/order.htm?title=" + encodeURIComponent(title) + "&color=" + encodeURIComponent(color) + "&no=" + no + "&categoryname=" + encodeURIComponent(categoryname), "width:434px; height:435px;", "top:15px;", { closeimg: "/skins/web/images/p_24.gif" });
        },
        submit: function (frm)
        {
            var frm = $(frm);
            var ps = ["title", $("txtTitle").value.trim(), "name", $("txtName").value.trim(), "phone", $("txtPhone").value.trim(), "email", $("txtEmail").value.trim(), "content", $("txtOther").value.trim()];
            var oth = new bxQueryString("", true);
            oth.setValue("category", $("txtCategory").value.trim());
            oth.setValue("no", $("txtNo").value.trim());
            oth.setValue("color", $("txtColor").value.trim());
            ps.push("otherinfo", oth.getQueryString());
            var m = "";
            if (ps[1] == "")
            {
                m += "请输入产品名称\n";
            }
            if (ps[3] == "")
            {
                m += "请输入您的姓名\n";
            }
            if (ps[5] == "")
            {
                m += "请输入您的电话\n";
            }
            if (m.length > 0)
            {
                alert(m);
                return false;
            }
            bxPlugin.run("guestbook", function ()
            {
                bxGuestBook.addMsg(ps, 0, "book", function (code, mes, response)
                {
                    if (code == 0)
                    {
                        alert("预定成功");
                        bxCloseOpenWindow();
                    }
                    else
                    {
                        alert("预定失败\n" + mes);

                    }
                });
            });
            return false;

        },
        init: function ()
        {
            $("txtTitle").value = decodeURIComponent(bxGetUrlParam("title"));
            $("txtCategory").value = decodeURIComponent(bxGetUrlParam("categoryname"));
            $("txtNo").value = decodeURIComponent(bxGetUrlParam("no"));
            $("txtColor").value = decodeURIComponent(bxGetUrlParam("color"));
        }
    }
} ();


var webImgView = function ()
{
    var config = {}
    var tags = {
        imgSmall: $(""), //小图 
        imgView: $(""), //大图
        moveBorder: $("")//移动框
    }
    var hideTimer = 0;
    return {
        init: function ()
        {
            tags.imgSmall = $("imgSmall");
            tags.imgView = $("imgView");
            tags.moveBorder = $E("div", {});
            tags.moveBorder.style.cssText = "position:absolute;width:100px;height:100px;background:#000;cursor:pointer;";

            tags.imgSmall.parentNode.appendChild(tags.moveBorder);
            bxStyle.SetAlpha(tags.moveBorder, 50);
            tags.imgView.css("width", tags.imgSmall.offsetWidth * tags.imgSmall.offsetWidth / tags.moveBorder.offsetWidth + "px");
            tags.imgView.css("height", tags.imgSmall.offsetHeight * tags.imgSmall.offsetHeight / tags.moveBorder.offsetHeight + "px");
            tags.moveBorder.onmousemove = function (evt)
            {
                show();
                var xy = tags.imgSmall.xy();
                var cxy = bxPub.getMousePosition(evt);
                var nBx = Math.min(tags.imgSmall.offsetWidth - tags.moveBorder.offsetWidth, cxy.x - xy.x - tags.moveBorder.offsetWidth / 2), nBy = Math.min(tags.imgSmall.offsetHeight - tags.moveBorder.offsetHeight, cxy.y - xy.y - tags.moveBorder.offsetHeight / 2);
                nBx = Math.max(0, nBx), nBy = Math.max(0, nBy);
                tags.moveBorder.css("left", nBx + "px");
                tags.moveBorder.css("top", nBy + "px");
                var boderXy = tags.moveBorder.xy();
                var scaleX = (boderXy.x - xy.x) / (tags.imgSmall.offsetWidth - tags.moveBorder.offsetWidth);
                var scaleY = (boderXy.y - xy.y) / (tags.imgSmall.offsetHeight - tags.moveBorder.offsetHeight);

                tags.imgView.css("left", 0 - (tags.imgView.offsetWidth - tags.imgView.parentNode.offsetWidth) * scaleX + "px");
                tags.imgView.css("top", 0 - (tags.imgView.offsetHeight - tags.imgView.parentNode.offsetHeight) * scaleY + "px");
            }
            tags.imgSmall.onmousemove = function (evt)
            {
                show();
                var xy = tags.imgSmall.xy();
                var cxy = bxPub.getMousePosition(evt);
                tags.moveBorder.css("left", cxy.x - xy.x - tags.moveBorder.offsetWidth / 2 + "px");
                tags.moveBorder.css("top", cxy.y - xy.y - tags.moveBorder.offsetHeight / 2 + "px");
            }
            tags.imgSmall.onmouseout = function ()
            {
                hide();
            }
            tags.moveBorder.onmouseout = function ()
            {
                hide();
            }
        }
    }
    function show()
    {
        clearTimeout(hideTimer);
        tags.moveBorder.css("display", "block");
        $("divBigImage").css("display", "block");
    }
    function hide()
    {
        hideTimer = setTimeout(function ()
        {
            tags.moveBorder.css("display", "none");
            $("divBigImage").css("display", "none");
        }, 80);
    }
} ();

function fixIndexScroll()
{
    var p1 = $("ucPdtLeft").player;
    var p2 = $("ucPdtRight").player;
    $("divPre").onclick = function ()
    {
        p1.doScroll(); p2.doScroll();
    }
    $("divNext").onclick = function ()
    {
        //alert(3);
        p1.doScroll(); p2.doScroll();

    }
    /*bxBatch($T("img", $("ucPdtLeft")), function (o, i)
    {
        o.onmouseover = function ()
        {
            bxStyle.SetAlpha(this.parentNode, 100);
        }
        o.onmouseout = function ()
        {
            bxStyle.SetAlpha(this.parentNode, 60);
        }
    });*/
}

function getSrc(src)
{
    if (src==null || src == "")
    {
        document.write( "/skins/default/images/nopic.jpg");
    }
    document.write( src);
}

var webMedia = function ()
{
    var config = {
        pageIndex: 1
    }
    return {
        getList: function (pageIndex)
        {
            config.pageIndex = pageIndex ? pageIndex : config.pageIndex;
            var ps = {
                city: $("selCity").value,
                date1: $("txtBookDate1").value,
                date2: $("txtBookDate2").value,
                media: $("selMediaBook").value,
                rowcount: 20,
                pageindex: config.pageIndex
            }
            bxPageAPI("/api/api.aspx", "mediaGetList", ps, function (code, mes, response)
            {
                if (code == 0)
                {
                    var dList = $("divMediaList");
                    dList.innerHTML = response.gpv("htmltext");
                    var lis = dList.getByClass("liListItem", false);
                    bxBatch(lis, function (li, i)
                    {
                        li.getByClass("aAddFav").onclick = function ()
                        {
                            webHelper.addUserFav(li.p("shopid"), "shop", function () { alert("收藏成功"); });
                            return false;
                        }
                    });
                    var books = dList.getByClass("divBook",false); 
                    bxBatch(books, function (d, i)
                    {
                        if (i == 0 || (books[i].innerHTML != books[i - 1].innerHTML))
                        {
                            d.css("display", "block"); 
                        }
                    });
                }
                else
                {
                    alert(mes);
                }
            });
        }
    }
} ();
