﻿/*扩展JQuery*/
jQuery.extend({
    getLen: function(text) {
        var t = text.replace(/[^\x00-\xff]/g, "**");
        return t.length;
    },
    getQueryString: function(source, name) {
        var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)"), r;
        if (source) {
            if (r = source.match(reg))
                return unescape(r[2]);
            return null;
        }
    },
    unescape: function(str) {
        var count = 0;
        if (!str) return "";
        str = unescape(str);
        while (str.indexOf("%") != -1) {
            if (count > 8)
                return str;
            str = unescape(str);
            count++;
        }
        return str;
    },
    setCookie: function(name, value, date,domain) {
        document.cookie = name + '=' + escape(value) + ';expires=' + date.toGMTString()+';domain='+domain+';path=/';
    },
    getCookie: function(name) {
        var c = document.cookie;
        var n = name + '=';
        var s = c.indexOf(n);
        if (s == -1) {
            return "";
        }
        var e = c.indexOf(';', s);
        if (e == -1) {
            e = c.length;
        }
        return unescape(c.substring(s + n.length, e));
    }
});


jQuery.fn.extend({
    options: function(arr, name, value, selector) {
        if (this.length) {
            var e = this[0];
        }
        $(e.options).empty();
        var o;
        if (arr) {
            if (jQuery.nodeName(e, "select")) {
                o = document.createElement("option");
                e.options.add(o);
                o.text = "请选择";
                o.value = "";
                if (!arr.length) {
                    o = document.createElement("option");
                    e.options.add(o);
                    o.text = eval("arr." + name);
                    o.value = eval("arr." + value);
                    if (selector) {
                        if (selector == arr[i][name])
                            o.selected = true;
                    }
                }
                for (var i = 0; i < arr.length; i++) {
                    o = document.createElement("option");
                    e.options.add(o);
                    o.text = arr[i][name];
                    o.value = arr[i][value];
                    if (selector) {
                        if (selector == arr[i][name])
                            o.selected = true;
                    }
                }
            }
        }
    },
    Left: function() {
        var l = null;
        if (this[0]) {
            l = this[0].offsetLeft;
            while (this[0] = this[0].offsetParent) {
                l += this[0].offsetLeft;
            }
        }
        return l;
    },
    Top: function() {
        var l = null;
        if (this[0]) {
            l = this[0].offsetTop;
            while (this[0] = this[0].offsetParent) {
                l += this[0].offsetTop;
            }
        }
        return l;
    },
    isInOptions: function(v) {
        var index = -1;
        var list = this[0].options;
        for (var i = 0; i < list.length; i++) {
            if (list[i]) {
                if (list[i].text == v || list[i].value == v) {
                    index = i;
                    break;
                }
            }
        }
        return index;
    },
    XmlSpecialChar:function(){
        return this[0].value.replace().
        replace(/\"/g,"").
        replace(/&/g,"").
        replace(/\'/g,"").
        replace(/</g,"").
        replace(/>/g,"").
        replace(/\\/g,"");
    }
}); 