﻿(function ($) {
    $.jbecool = {};

    /*产生GUID*/
    $.jbecool.newGuid = function () {
        var guid = "";
        for (var i = 1; i <= 32; i++) {
            var n = Math.floor(Math.random() * 16.0).toString(16);
            guid += n;
            if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
                guid += "-";
        }
        return guid;
    };

    /*获取一个指定长度随机数*/
    $.jbecool.random = function (len) {
        if (!len) len = 5;
        var r = Math.random().toString();
        return r.substr(r.length - len);
    };
    /*在指定Url后加入随机数，防止页面缓存*/
    $.jbecool.randomUrl = function (url) {
        if (url.indexOf("?") > 0)
            url += "&" + $.jbecool.random(10);
        else url += "?" + $.jbecool.random(10);
        return url;
    };

    /*q:参数名; url:可选*/
    $.jbecool.urlParam = function (q, url) {
        if (!url) url = window.location + '';
        else url += '';
        var reg = new RegExp("[?&](" + q + ")=([^&]+)", "i");
        var re = reg.exec(url);
        if (re) return unescape(re[2]);
        else return "";
    };

    $.jbecool.InterMsg = function () {
        this.result = {};
        this.isSuccess = true;
        this.errorMsg = "";
    };

    $.jbecool.refresh = function () {
        document.location = document.location;
    };
    $.jbecool.go = function (url) {
        document.location = url;
    };

    $.jbecool.isNullOrUndefine = function (src) {
        return src == null || src == undefined;
    };
    $.jbecool.isNullOrEmpty = function (src) {
        if ($.jbecool.isNullOrUndefine(src) == true)
            return true;
        if ($.trim(src) == "")
            return true;
        return false;
    };
    $.jbecool.removeBeginWith = function (src, first) {
        if ($.jbecool.isNullOrEmpty(src) == true)
            return "";
        if ($.jbecool.isNullOrEmpty(first) == true)
            return src;
        if (src.indexOf(first) == 0)
            return src.substr(first.length);
        return src;
    }
    $.jbecool.removeEndWith = function (src, last) {
        if ($.jbecool.isNullOrEmpty(src) == true)
            return "";
        if ($.jbecool.isNullOrEmpty(last) == true)
            return src;
        if (src.lastIndexOf(last) == (src.length - last.length))
            return src.substr(0, src.length - last.length);
        return src;
    }
    //将HTML标签数据转换为对象，如attr = width:10,height:12,url:'xx.jpg'
    //字符串中不能出现逗号或者冒号（暂时）
    $.jbecool.attrToObject = function (attrValue) {
        if ($.jbecool.isNullOrEmpty(attrValue) == true)
            return null;

        //将逗号左边加引号，将冒号右边加引号，且将单引号变成双引号
        var tmp = "{\"" + attrValue.replace(/,/g, ",\"").replace(/:/g, "\":").replace(/'/g, "\"") + "}";
        return $.evalJSON(tmp);
    };

    //将字符串转换为整数
    $.jbecool.parseInt = function (str, def) {
        var num = parseInt(str);
        if (isNaN(num)) {
            if (def != undefined && !isNaN(def))
                return def;
            else
                return -1;
        }
        return num;
    };
})(jQuery);
