﻿/// <reference path="Nouse/import.js" />
eval(function (p, a, c, k, e, d) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) { d[e(c)] = k[c] || e(c) } k = [function (e) { return d[e] } ]; e = function () { return '\\w+' }; c = 1 }; while (c--) { if (k[c]) { p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]) } } return p } ('3(!m.l){l={}}(6(){6 f(n){7 n<10?\'0\'+n:n}3(5 1d.E.q!==\'6\'){1d.E.q=6(h){7 m.1z()+\'-\'+f(m.1A()+1)+\'-\'+f(m.1y())+\'T\'+f(m.1x())+\':\'+f(m.1v())+\':\'+f(m.1w())+\'Z\'};X.E.q=1B.E.q=1C.E.q=6(h){7 m.1G()}}x O=/[\\1F\\12\\17-\\18\\1c\\1b\\19\\1a-\\1o\\1n-\\1i\\1l-\\1k\\1h\\11-\\1e]/g,Q=/[\\\\\\"\\1D-\\1E\\1u-\\1I\\12\\17-\\18\\1c\\1b\\19\\1a-\\1o\\1n-\\1i\\1l-\\1k\\1h\\11-\\1e]/g,8,H,14={\'\\b\':\'\\\\b\',\'\\t\':\'\\\\t\',\'\\n\':\'\\\\n\',\'\\f\':\'\\\\f\',\'\\r\':\'\\\\r\',\'"\':\'\\\\"\',\'\\\\\':\'\\\\\\\\\'},o;6 L(p){Q.1j=0;7 Q.Y(p)?\'"\'+p.I(Q,6(a){x c=14[a];3(5 c===\'p\'){7 c}7\'\\\\u\'+(\'1g\'+a.1m(0).1f(16)).13(-4)})+\'"\':\'"\'+p+\'"\'}6 A(h,w){x i,k,v,9,J=8,e,2=w[h];3(2&&5 2===\'C\'&&5 2.q===\'6\'){2=2.q(h)}3(5 o===\'6\'){2=o.N(w,h,2)}1V(5 2){G\'p\':7 L(2);G\'P\':7 1W(2)?X(2):\'K\';G\'1U\':G\'K\':7 X(2);G\'C\':3(!2){7\'K\'}8+=H;e=[];3(5 2.9===\'P\'&&!2.1J(\'9\')){9=2.9;B(i=0;i<9;i+=1){e[i]=A(i,2)||\'K\'}v=e.9===0?\'[]\':8?\'[\\n\'+8+e.M(\',\\n\'+8)+\'\\n\'+J+\']\':\'[\'+e.M(\',\')+\']\';8=J;7 v}3(o&&5 o===\'C\'){9=o.9;B(i=0;i<9;i+=1){k=o[i];3(5 k===\'p\'){v=A(k,2);3(v){e.1p(L(k)+(8?\': \':\':\')+v)}}}}W{B(k 1q 2){3(1r.1s.N(2,k)){v=A(k,2);3(v){e.1p(L(k)+(8?\': \':\':\')+v)}}}}v=e.9===0?\'{}\':8?\'{\\n\'+8+e.M(\',\\n\'+8)+\'\\n\'+J+\'}\':\'{\'+e.M(\',\')+\'}\';8=J;7 v}}3(5 l.V!==\'6\'){l.V=6(2,y,D){x i;8=\'\';H=\'\';3(5 D===\'P\'){B(i=0;i<D;i+=1){H+=\' \'}}W 3(5 D===\'p\'){H=D}o=y;3(y&&5 y!==\'6\'&&(5 y!==\'C\'||5 y.9!==\'P\')){15 1t 1Q(\'l.V\')}7 A(\'\',{\'\':2})}}3(5 l.U!==\'6\'){l.U=6(z,S){x j;6 R(w,h){x k,v,2=w[h];3(2&&5 2===\'C\'){B(k 1q 2){3(1r.1s.N(2,k)){v=R(2,k);3(v!==1T){2[k]=v}W{1M 2[k]}}}}7 S.N(w,h,2)}O.1j=0;3(O.Y(z)){z=z.I(O,6(a){7\'\\\\u\'+(\'1g\'+a.1m(0).1f(16)).13(-4)})}3(/^[\\],:{}\\s]*$/.Y(z.I(/\\\\(?:["\\\\\\/1S]|u[0-1O-1L-F]{4})/g,\'@\').I(/"[^"\\\\\\n\\r]*"|1P|1R|K|-?\\d+(?:\\.\\d*)?(?:[1K][+\\-]?\\d+)?/g,\']\').I(/(?:^|:|,)(?:\\s*\\[)+/g,\'\'))){j=1N(\'(\'+z+\')\');7 5 S===\'6\'?R({\'\':j},\'\'):j}15 1t 1H(\'l.U\')}}})();', 62, 121, '||value|if||typeof|function|return|gap|length|||||partial|||key||||JSON|this||rep|string|toJSON||||||holder|var|replacer|text|str|for|object|space|prototype||case|indent|replace|mind|null|quote|join|call|cx|number|escapable|walk|reviver||parse|stringify|else|String|test|||ufff0|u00ad|slice|meta|throw||u0600|u0604|u17b5|u200c|u17b4|u070f|Date|uffff|toString|0000|ufeff|u202f|lastIndex|u206f|u2060|charCodeAt|u2028|u200f|push|in|Object|hasOwnProperty|new|x7f|getUTCMinutes|getUTCSeconds|getUTCHours|getUTCDate|getUTCFullYear|getUTCMonth|Number|Boolean|x00|x1f|u0000|valueOf|SyntaxError|x9f|propertyIsEnumerable|eE|fA|delete|eval|9a|true|Error|false|bfnrt|undefined|boolean|switch|isFinite'.split('|'), 0, {}));

//#region ----扩展类
Function.prototype.bind = function () {
    var __method = this;
    var args = Array.prototype.slice.call(arguments);
    var object = args.shift();
    return function () {
        return __method.apply(object,
             args.concat(Array.prototype.slice.call(arguments)));
    }
}
Date.prototype.toFormatString = function (_format) {
    var year = this.getFullYear();
    var month = parseInt(this.getMonth() + 1, 10);
    var day = this.getDate();
    var hour = this.getHours() > 9 ? this.getHours() : "0" + this.getHours();
    var minute = this.getMinutes() > 9 ? this.getMinutes() : "0" + this.getMinutes();
    var second = this.getSeconds() > 9 ? this.getSeconds() : "0" + this.getSeconds();
    _format = !_format ? "yyyy-MM-dd HH:mm:ss" : _format;
    return _format.replace("yyyy", year).replace("MM", month).replace("dd", day).replace("HH", hour).replace("mm", minute).replace("ss", second);
}
Date.prototype.addDays = function (days) {  
    var times = this.getTime() + (days * 24 * 60 * 60 * 1000);
    var d = new Date();
    d.setTime(times);
    return d;
}
Date.prototype.addMinutes = function (minutes) {
    var times = this.getTime() + (minutes * 60 * 1000);
    var d = new Date();
    d.setTime(times);
    return d;
}
Date.prototype.addSeconds = function (seconds) {
    var seconds = this.getTime() + (seconds * 1000);
    var d = new Date();
    d.setTime(seconds);
    return d;
}

Array.prototype.unpush = function () {
    this.length = this.length - 1;
}
Array.prototype.indexOf = function (item, fromIndex) {
    var aryLen = this.length;
    if (!fromIndex) fromIndex = 0;
    else if (fromIndex < 0) fromIndex = Math.max(0, aryLen + fromIndex);
    for (var i = fromIndex; i < aryLen; i++) {
        if (this[i] == item) {
            return i;
        }
    }
    return -1;
}
Array.prototype.remove = function (item) {
    var index = this.indexOf(item);
    if (index > -1) {
        this.splice(index, 1);
    }
    return (index > -1);
}
Array.prototype.removeAt = function (index) {
    return this.splice(index, 1);
}
Array.prototype.removeReItem = function (item) {
    var temp = {};
    var aryLen = this.length;
    for (var i = 0; i < aryLen; i++) {
        if (typeof temp[this[i]] == "undefined") {
            if (this[i] != item) {
                temp[this[i]] = 1;
            }
        }
    }
    this.length = 0;
    for (var o in temp) {
        this[this.length] = o;
    }
    return this;
}
Array.prototype.clearRepeat = function () {
    var temp = {};
    var aryLen = this.length;
    for (var i = 0; i < aryLen; i++) {
        if (typeof temp[this[i]] == "undefined") {
            temp[this[i]] = this[i];
        }
    }
    this.length = 0;
    for (var o in temp) {
        this[this.length] = o;
    }
    return this;
}
Array.prototype.hasRepeat = function () {
    var temp = {};
    var aryLen = this.length;
    for (var i = 0; i < aryLen; i++) {
        if (typeof temp[this[i]] == "undefined") {
            temp[this[i]] = this[i];
        } else {
            return true;
        }
    }
    return false;
}
Array.prototype.exists = function (item) {
    return (this.indexOf(item) != -1);
}
Array.prototype.getMax = function () {
    var aryLen = this.length;
    for (var i = 1, maxValue = this[0]; i < aryLen; i++) {
        if (maxValue < this[i]) {
            maxValue = this[i];
        }
    }
    return maxValue;
}
Array.prototype.getMin = function () {
    var aryLen = this.length;
    for (var i = 1, minValue = this[0]; i < aryLen; i++) {
        if (minValue > this[i]) {
            minValue = this[i];
        }
    }
    return minValue;
}
Array.prototype.clear = function () {
    this.length = 0;
}
Array.prototype.addArray = function (array) {
    var newLen = array.length;
    for (var i = 0; i < newLen; i++) {
        this.push(array[i]);
    }
}
Array.prototype.insertAt = function (index, item) {
    this.splice(index, 0, item);
}
Array.prototype.insertBefore = function (aryItem, item) {
    var index = this.indexOf(aryItem);
    if (index == -1) {
        this.push(item);
    }
    else {
        this.splice(index, 0, item);
    }
}
Array.prototype.getMostItems = function () {
    var temp = {}, m = 0, n = new Array();
    var aryLen = this.length;
    for (var i = 0; i < aryLen; i++) {
        temp[this[i]] ? ++temp[this[i]] : temp[this[i]] = 1;
    }
    for (var o in temp) {
        m = Math.max(m, temp[o]);
        if (m == temp[o]) {
            n[n.length] = o;
        }
    }
    return { "value": n, "times": m };
}
Array.prototype.circle = function (degressive) {
    var temp = null;
    if (degressive) {
        temp = this[0];
        this.shift();
        this.push(temp);
    }
    else {
        var aryLen = this.length;
        temp = this[aryLen - 1];
        this.length = aryLen - 1;
        this.unshift(temp);
    }
}

String.prototype.color2rgba = function () {
    var color = this.replace("#", "");
    var i = color.length == 3 ? 1 : 2;
    var rgba = [color.substr(0, i), color.substr(i, i), color.substr(2 * i, i)];
    for (var i = 0; i < rgba.length; i++) {
        rgba[i] = parseInt(rgba[i], 16).toString(10);
        rgba[i] = color.length == 6 ? rgba[i] : parseInt(rgba[i], 10) * parseInt(rgba[i], 10);
    }
    return rgba.toString();
}
String.prototype.trim = function () {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim = function () {
    return this.replace(/(^\s*)/g, "");
}
String.prototype.rtrim = function () {
    return this.replace(/(\s*$)/g, "");
}
String.prototype.contains = function (charstring) {
    return (this.indexOf(charstring) > -1);
}
String.prototype.IsChinese = function () {
    var re = /^[\u4E00-\u9FA5]*$/;
    return re.test(this);
}

Number.prototype.toLeftTimeString = function () {
    var h = parseInt(this / 60 / 60, 10);
    var m = parseInt(this / 60 % 60, 10);
    var s = this % 60;
    var ret = [];
    ret.push(h > 9 ? h.toString() : "0" + h.toString());
    ret.push(m > 9 ? m.toString() : "0" + m.toString());
    ret.push(s > 9 ? s.toString() : "0" + s.toString());
    return ret.join(":");
}
Number.prototype.toMoney = function () {
    return "￥" + this;
}
//#endregion
//#region ----实体类
var Model = new function () {
    ///可选项目对象实体类
    this.OptionData = {
        id: 0,
        parentId: 0,
        name: "",
        enName: ""
    };
    this.Job = {
        ID: -1,
        Name: "",
        Nature: "",
        NeedNum: "",
        EndTime: "",
        WorkProvince: "",
        WorkCity: "",
        JobType: "",
        Gender: "",
        MinAge: "",
        MaxAge: "",
        Degree: "",
        WorkYears: "",
        Language: "",
        MinPay: "",
        MaxPay: "",
        IsFaceTalk: "",
        ShortNum: "",
        Responsibilities: "",
        Requirements: "",
        Phone: "",
        Contacter: "",
        ContacterGender: "",
        Email: "",
        OtherEmail: "",
        IsPublic: ""
    };
};
//#endregion
//#region ----核心类
var ZC = new function () {
    //#region ----用户方法
    this.Common = {
        setdefault: function (defaultObj, valObj) {
            valObj = valObj || new Object();
            var r = new Object();
            for (var k in defaultObj) {
                if (typeof valObj[k] != "undefined") {
                    r[k] = valObj[k];
                } else {
                    r[k] = defaultObj[k];
                }
            }
            return r;
        },
        copyToClipboard: function (txt) {
            ///<summary>复制字符串至剪贴板</summary>
            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("被浏览器拒绝！请在浏览器地址栏输入'about:config'并回车然后将'signed.applets.codebase_principal_support'设置为'true'");
                }
                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("复制成功")
            }
        },
        convertToNum: function (num) {
            ///<summary>
            ///数字补位 如:'1'转换至'01'\r\n
            ///return:[string]
            ///</summary>
            if (!num) { num = ''; }
            return num < 10 ? '0' + num : num;
        },
        convertToNumAry: function (nums) {
            ///<summary>对数据数组进行补位格式化
            ///return:[string]
            ///</summary>

            if (!nums) { return; }
            for (var i = 0; i < nums.length; i++) {
                this.convertToNum(nums[i]);
            }
            return nums;
        },
        convertToHorn: function (str) {
            ///<summary>全角转换为半角</summary>
            var IR = str;
            IR = IR.split("０").join("0");
            IR = IR.split("１").join("1");
            IR = IR.split("２").join("2");
            IR = IR.split("３").join("3");
            IR = IR.split("４").join("4");
            IR = IR.split("５").join("5");
            IR = IR.split("６").join("6");
            IR = IR.split("７").join("7");
            IR = IR.split("８").join("8");
            IR = IR.split("９").join("9");
            IR = IR.split("＋").join("+");
            IR = IR.split("　").join(" ");
            return IR;
        },
        convertToDateTime: function (str) {
            return (new Date(parseInt((JSON.stringify(str)).replace(new RegExp('(^|[^\\\\])\\"/Date\\((-?[0-9]+)\\)/\\"', 'g'), "$2")))).toFormatString("yyyy-MM-dd");
        }
    };
    //#region  URL操作
    this.Url = {
        Href: function () {
            return window.location.href;
        },
        Host: function () {
            return window.location.host;
        },
        Protocol: function () {
            return window.location.protocol;
        },
        Prot: function () {
            return window.location.port;
        },
        PathName: function () {
            return window.location.pathname;
        },
        Search: function () {
            return window.location.search;
        },
        Querry: function (querryName) {
            var paras = null;
            var args = this.Search().replace('?', '').split('&');
            for (var i = 0; i < args.length; i++) {
                var arg = args[i];
                if (arg.length > 0) {
                    paras = arg.split('=');
                    if (paras[0] == querryName) {
                        return paras[1];
                    }
                }
            }
            return null;
        },
        Hash: function () {
            return window.location.hash;
        }
    };
    //#endregion
    //#endregion 
    //#region ----枚举
    this.Enum = {
        ResponseCode: {
            操作失败: 0,
            操作成功: 1,
            用户名已被注册: 8888,
            电子邮箱已被注册: 9999
        },
        GetName: function (val, enumObj) {
            ///<summary>枚举值获取名称</summary>
            for (var i in enumObj) {
                if (enumObj[i] == val) {
                    return i;
                }
            }
        }
    };
    //#endregion
}
//#endregion


