﻿/***********************************************************************************************************
* GamaBeanFunCN  V0.01  WayneChen(waynechen@gamania.com)
* LastUpdate 2010-11-11(光棍节) WayneChen
************************************************************************************************************/
var GamaBeanFunCN = {
    strExtension: "",
    HtmlBase: {
        tdarealength: function (textbox, max) {
            var t = 0;
            var s = "";
            var value = GamaBeanFunCN.HtmlBase.ltrim(textbox.html());
            for (i = 0; i < value.length; i++) {
                if (parseInt(value.charCodeAt(i)) > 256) {
                    t += 2;
                    if (t <= max)
                        s += value.substr(i, 1);
                }
                else {
                    if (t <= max - 1)
                        s += value.substr(i, 1);
                    t++;
                }
            }
            if (t > max) {
                textbox.attr("title", textbox.html());
                textbox.html(s + "...");
            }
        },
        tdarealengthAdv: function (textbox, max, out, link) {
            var t = 0;
            var s = "";
            var value = GamaBeanFunCN.HtmlBase.ltrim(textbox.html());
            for (i = 0; i < value.length; i++) {
                if (parseInt(value.charCodeAt(i)) > 256) {
                    t += 2;
                    if (t <= max)
                        s += value.substr(i, 1);
                }
                else {
                    if (t <= max - 1)
                        s += value.substr(i, 1);
                    t++;
                }
            }
            if (t > max) {
                textbox.attr("title", textbox.html());
                textbox.html(s + out + link);
            }
            else
                textbox.html(s + link);
        },
        textareacheck: function (textbox, max) {
            var t = 0;
            var s = "";
            for (i = 0; i < textbox.value.length; i++) {
                if (parseInt(textbox.value.charCodeAt(i)) > 256) {
                    t += 2;
                    if (t <= max)
                        s += textbox.value.substr(i, 1);
                }
                else {
                    if (t <= max - 1)
                        s += textbox.value.substr(i, 1);
                    t++;
                }
            }
            if (t > max) {
                textbox.value = s;
            }
        },
        showTab: function (obj, max, tabpre) {
            for (i = 1; i < (max + 1); i++) {
                $("#" + tabpre + i).hide();
            }
            $("#" + tabpre + obj).show();
        },
        search: function (e, buttonid) {
            var bt = $("#" + buttonid);
            if (typeof bt == 'object') {
                if ($.browser.mozilla) {
                    if (e.keyCode == 13) {
                        bt.click();
                        return false;
                    }
                }
                if ($.browser.msie) {
                    if (event.keyCode == 13) {
                        bt.click();
                        return false;
                    }
                }
            }
        },
        ltrim: function (s) {
            return s.replace(/^\s*/, "");
        },
        rtrim: function (s) {
            return s.replace(/\s*$/, "");
        },
        trim: function (s) {
            return rtrim(ltrim(s));
        },
        copyToClipboard: function (txt) {
            if (window.clipboardData) {
                window.clipboardData.clearData();
                window.clipboardData.setData("Text", txt);
            } else if (navigator.userAgent.indexOf("Opera") != -1) {
                window.location = txt;
            } else if (window.netscape) {
                try {
                    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                } catch (e) {
                    alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试");
                    return false;
                }
                var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
                if (!clip)
                    return;
                var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
                if (!trans)
                    return;
                trans.addDataFlavor('text/unicode');
                var str = new Object();
                var len = new Object();
                var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
                var copytext = txt;
                str.data = copytext;
                trans.setTransferData("text/unicode", str, copytext.length * 2);
                var clipid = Components.interfaces.nsIClipboard;
                if (!clip)
                    return false;
                clip.setData(trans, null, clipid.kGlobalClipboard);
            }
            alert("复制成功");
        },
        GetRandomRemarkEmail: function (email) {
            var arr = email.split("@");
            var arr_name = arr[0];
            var arr_domain = arr[1];
            var name = "";
            var domain = "";
            for (var i = 0; i < arr_name.length; i++) {
                if ((i % 3) == 2)
                    name += "*";
                else
                    name += arr_name.charAt(i);
            }
            for (var i = 0; i < arr_domain.length; i++) {
                if (arr_domain[i] != "." && (i % 3) == 2)
                    domain += "*";
                else
                    domain += arr_domain.charAt(i);
            }
            return name + "@" + domain;
        },
        BF: {
        //            tmpLogoutFunc: BeanFunBlock.LoadLogoutHtml
    }
},
ConvertString: {
    /**
    * 将数值四舍五入(保留2位小数)后格式化成金额形式
    *
    * @param num 数值(Number或者String)
    * @return 金额格式的字符串,如'1,234,567.45'
    * @type String
    */
    formatCurrency: function (num) {
        num = num.toString().replace(/\$|\,/g, '');
        if (isNaN(num))
            num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num * 100 + 0.50000000001);
        cents = num % 100;
        num = Math.floor(num / 100).toString();
        if (cents < 10)
            cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
            num = num.substring(0, num.length - (4 * i + 3)) + ',' +
            num.substring(num.length - (4 * i + 3));
        //        return (((sign) ? '' : '-') + num + '.' + cents);
        return (((sign) ? '' : '-') + num);
    }
}
}


var cookie = {
    set: function (name, value) {
        var exp = new Date();
        exp.setTime(exp.getTime() + 864500000);
        document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + "; path=/";
    },
    get: function (name) {
        var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
        if (arr != null) return unescape(arr[2]); return null;
    },
    del: function (name) {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        document.cookie = name + "=;expires=" + exp.toGMTString() + "; path=/";
    }
}
var valid = {
    IsValidEmpty: function (v) {
        return v.replace(/(^\s*)|(\s*$)/g, "") == "" ? true : false;
    },
    IsValidChar: function (v) {
        return /^[a-zA-Z\d]{4,50}$/.test(v);
    },
    IsValidNumber: function (v) {
        return /^[+-]?\d+(\.\d+)?$/.test(v);
    },
    IsValidEmail: function (v) {
        return /^[a-zA-Z0-9][\w\.\-]*[a-zA-Z0-9]@([a-zA-Z]*|\d*)(\.[a-zA-Z]+)+$/.test(v);
    },
    IsValidPic: function (v) {
        return /^.+.(gif|jpg|jpeg)$/i.test(v);
    },
    ConfirmPwd: function (v, t) {
        return v == t ? true : false;
    }
}
var url = {
    d: function (p) {
        var url = location.href.replace(new RegExp(p + "=[^&]*", "gi"), "").replace(/&&/g, "&").replace(/\?&/, "?");
        return !url.match(/\?/g) ? url + "?" : !url.match(/(&|\?)$/) ? url + "&" : url;
    },
    g: function (p, url) {
        var str = "[\?&]" + p + "=([^&]*)";
        var re = new RegExp(str, "gi");
        if (!re.test(url)) return "";
        re.exec(url);
        return RegExp.$1;
    },
    f: function (p, c) {
        var str = "[\?&]" + p + "=([^&]*)";
        var re = new RegExp(str, "gi");
        if (!re.test(c)) return "";
        re.exec(c);
        return RegExp.$1;
    }
}


//BeanFunBlock.LoadLogoutHtml = function (NotRemoveSession) {
//    GamaBeanFunCN.BF.tmpLogoutFunc(NotRemoveSession);
//    //added by WayneChen start
//        var date = new Date();
//        date.setTime(date.getTime() - 10000);
//        document.cookie ="bfWebToken=删除" + "; expires=" + date.toUTCString();
////        $.cookie(COOKIE_NAME, null, { path: '/' });
//    //added by WayneChen end
//};
