﻿/// <reference path="../../jquery-1.4.4.js" />
/// <reference path="../ZC.Tips.js" />

var Pop = {};
Pop.Base = (function () {
    var _title = null;
    var _body = null;
    var _footer = null;
    var _cssAry = [];
    var _zIndex = 100;
    var _$iframe = null;
    //#region 生成模版内容
    _cssAry.push("left:50%");
    _cssAry.push("top:50%");
    _cssAry.push("postion:fixed");
    _cssAry.push("_postion:absolute");
    _cssAry.push("_top:expression(eval(document.compatMode && document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop + (document.documentElement.clientHeight-this.clientHeight)/2 - 1 : document.body.scrollTop + (document.body.clientHeight-this.clientHeight)/2 - 1)");
    var htmlAry = [];
    htmlAry.push('<div class="layout">');
    htmlAry.push('<table cellspacing="0" cellpadding="0">');
    htmlAry.push('<thead><tr><td class="l"></td><td class="c"></td><td class="r"></td></tr></thead>');
    htmlAry.push('<tfoot><tr><td class="l"></td><td class="c"></td><td class="r"></td></tr></tfoot>');
    htmlAry.push('<tbody><tr><td class="l"></td><td class="c">');
    htmlAry.push('<div class="layinner">');
    htmlAry.push('<div class="layhead clearfix"><span class="title">个人登录</span><a class="close" href="javascript:;"></a></div>');
    htmlAry.push('<div class="laybody"><div style="overflow:hidden;margin-top:10px;"></div></div>');
    htmlAry.push('<div class="foot"></div>');
    htmlAry.push('</td><td class="r"></td></tr></tbody>');
    htmlAry.push(' </table></div>');
    //#endregion
    var construct = function () {
        this.Container = $(htmlAry.join(""));
        this.Title = $(this.Container).find("tbody div.layinner div.layhead span.title").eq(0);
        this.Close = $(this.Container).find("tbody div.layinner div.layhead a.close").eq(0);
        this.Body = $(this.Container).find("tbody div.layinner div.laybody div").eq(0);
        this.Footer = $(this.Container).find("tbody div.layinner div.foot").eq(0);
        this.Status = 0;
        this.ie6 = false;
        var _Removable = false;
        var _item = null;
        this.item = false;
        //#region Attribute　
        this.setTitle = function (val) {
            _title = val;
        };
        this.getTitle = function () { return _title };
        this.setBody = function (val) {
            _body = val;
        };
        this.getBody = function () { return _body; };
        this.setFooter = function (val) {
            _footer = val;
        };
        this.getFooter = function () { return _footer };
        this.setRemovable = function (val) {
            _Removable = val;
        };
        this.getRemovable = function () { return _Removable; };
        //#endregion
        this.setIterm = function () {
            _item = '<img src=\"/Style/Images/loading/035.gif\"/ alt="">';
            this.Body.css("margin-top:15px");
            this.setBody(_item);
            this.setFooter("");
            this.show({ width: 300, height: 40 });
            this.item = true;
        };
        //#region event
        if (!this.getRemovable()) {
            this.Close.bind("click", construct.prototype.close.bind(this));
        }
        //#endregion
    };
    var _def = { speed: 180, callback: function () { } };
    var arg = { speed: 150, callback: function () { } };
    construct.prototype.show = function (style) {
        if (this.getRemovable()) {
            this.Close.click(construct.prototype.close.bind(this));
        }
        var defStyle = { width: 600, height: 400 };
        style = ZC.Common.setdefault(defStyle, style);
        this.Title.html(this.getTitle());
        if (this.getBody()) {
            this.Body.html(this.getBody());
        }
        this.Footer.html(this.getFooter());
        _cssAry.push("z-index:" + (_zIndex += 1));

        this.Container.appendTo(document.body).css("cssText", _cssAry.join(";"));
        this.Body.css("width", style.width == 0 || style.width == "auto" ? 0 : style.width + "px");
        this.Body.css("height", style.height == 0 || style.height == "auto" ? "auto" : style.height + "px");
        var scrollTop = document.documentElement.scrollTop;
        var cHeight = this.Container.get(0).clientHeight;
        var sHeight = window.screen.height - document.documentElement.clientHeight;
        sHeight = document.documentElement.clientHeight - cHeight <= sHeight ? 0 : sHeight / 2;
        sHeight = 0;
        var marginTop = 0 - cHeight / 2 - sHeight;
        var cWidth = this.Container.get(0).clientWidth;
        var sWidth = window.screen.width - document.documentElement.clientWidth;
        sWidth = document.documentElement.clientWidth - cWidth <= sWidth ? 0 : sWidth / 2;
        sWidth = 0;
        var marginLeft = 0 - cWidth / 2 - sWidth;
        this.ie6 = $.browser.msie == true && parseInt($.browser.version, 10) == 6;
        if (!this.ie6) { this.Container.css("margin-top", marginTop + scrollTop).css("margin-left", marginLeft); }
        this.Container.css("margin-left", (0 - parseInt(style.width / 2)) + "px");
        if (this.Status == 0) {
            this.Container.appendTo(document.body).hide();
            this.Container = this.Container.maskshow({ zIndex: _zIndex });
            _$iframe = $.browser.msie ? $("body").find("iframe").eq(1) : $("body").find("iframe").eq(0);
            _$iframe.css("zIndex", this.Container.css("zIndex") - 1);
            this.Status = 1;
        }
    };
    construct.prototype.close = function () {
        _$iframe.css("zIndex", this.Container.css("zIndex") - 2);
        this.Container.maskhide({ speed: 150, callback: function () { } });
        this.Status = 0;
        if (this.getRemovable() && !this.ie6) {
            this.Container.remove();

        }
    };
    return construct;
})();


//#region 个人登录
Pop.Login = function () {
    Pop.Base.call(this);
    this.createElement = function (poptype) {
        //#region 生成布局
        var layout = { body: "", foot: "", userName: "", userPwd: "" };
        var control = { button: "" };
        var html = [], foot = [];
        switch (poptype) {
            case pops.poptype.申请职位:
            case pops.poptype.联系方式:
            case pops.poptype.职位收藏:
            case pops.poptype.举报:
            case pops.poptype.职位搜索器:
                {
                    html.push('<div id="pop-login" class="pop-login pop-common">');
                    html.push(' <ul>');
                    html.push(' <li style="height:38px"><p>还没智成人才网账号？<a href="/Person/Account/Register" target="_blank">立即注册</a>&nbsp;找工作吧！</p></li>');
                    html.push(' <li class="border-style"><label><b>*</b>用户名：</label><span class="span-border"><input type="text"></span></li>');
                    html.push(' <li style="height:54px" class="border-style"><label><b>*</b>密　码：</label><span class="span-border"><input type="password"></span><a href="/Person/Account/FindPassword" target="_blank">忘记密码？</a>');
                    html.push(' <span class="tip" style="display:none"></span></li> ');
                    html.push(' <li><button style="cursor:pointer">确 认</button></li>');
                    html.push(' </ul>');
                    html.push('</div>');
                    layout.body = $(html.join("\r\n"));
                    break;
                }
        }
        var _intpus = $(layout.body).find("input");
        layout.userName = _intpus.eq(0);
        layout.userPwd = _intpus.eq(1);
        control.button = layout.body.find("li button");
        this.setBody(layout.body);
        this.setFooter("");
        //#endregion
        //#region method
        //#region 验证
        /// <summary>验证</summary>
        var _$errSpan = "";
        var _validate = function (LoginId, Pwd) {
            var _$ui = $(layout.body);
            _$errSpan = _$ui.find("span").eq(2);
            _$errSpan.show();
            if (LoginId == "") {
                _$errSpan.html("请输入用户名");
                _$errSpan.removeClass("okay").addClass("error");
                return false;
            }
            if (Pwd == "") {
                _$errSpan.html("请输入密码");
                _$errSpan.removeClass("okay").addClass("error");
                return false;
            }
            _$errSpan.removeClass("error").addClass("okay").html("");
            return true;
        }
        //#endregion
        //#endregion
        //#region event
        //个人登录 --2011-08-02 by xp
        $(control.button).click(function () {
            var LoginID = layout.userName.val(), Pwd = layout.userPwd.val();
            if (!_validate(LoginID, Pwd)) return;
            $.post("/Person/Account/PopLogin", { LoginID: LoginID, Pwd: Pwd }, function (data) {
                if (data.isLogin == "fail") {
                    _$errSpan.removeClass("okay").addClass("error");
                    _$errSpan.html("用户名或密码错误！")
                }
                else {
                    //职位申请
                    $("#logId").val(data.personID), $("#logId").attr("name", data.personID);
                    var head = "";
                    $("div[class='nv-left']").html("");
                    head += '<span>欢迎，' + data.LoginID + '&nbsp;&nbsp;<a href="/Person/Home/Index">返回求职中心</a>&nbsp;</span>';
                    head += '<a class="a-color01" href="javascript:;" onclick="logout();">[退出]</a>';
                    head += '<span class="span-system"><img alt="" src="/Style/Images/index_msg.png" width="14" height="13" />&nbsp;系统消息&nbsp;<a href="/Person/Sys/Msg">' + data.msg + '</a>&nbsp;条</span>';
                    $("div[class='nv-left']").append(head);
                    // #region 登录成功,弹出后续窗体
                    switch (poptype) {
                        case pops.poptype.申请职位:
                            {
                                pops.entity.Login.close();
                                pops.entity.Appjob.pops.init(pops.entity.Appjob.jobid);
                                break;
                            }
                        case pops.poptype.联系方式:
                            {
                                // ZC.Pop.close();
                                // $(".dl-hg59 dt span").html("");
                                // $(".dl-hg59 dt span").append("联系方式");
                                // $(".dl-hg59 dd").show();
                                break;
                            }
                        case pops.poptype.职位收藏:
                            {
                                pops.entity.Login.close();
                                pops.entity.FaviortJob.init();
                                break;
                            }
                        case pops.poptype.举报:
                            {
                                pops.entity.Login.close();
                                pops.entity.Report.init();
                                break;
                            }
                        case pops.poptype.职位搜索器:
                            {
                                // ZC.Pop.close();
                                // $("#btnSaveSeeker").click();
                                break;
                            }
                    }
                    //#endregion
                }
            });
        });

        //回车键登录
        $(layout.body).find(':input').keydown(function (event) {
            var e = $.event.fix(event);
            if (e.keyCode == 13) {
               
                $(control.button).click();
            }
        });

        //#endregion
        return layout;
    }
};
Pop.Login.prototype = new Pop.Base();
Pop.Login.prototype.constructor = Pop.Login;
Pop.Login.prototype.init = function (poptype) {
    this.setRemovable(true);
    this.setTitle("个人登录");
    this.createElement(poptype);
    this.show({ width: 420, height: 270 });
};
//#endregion

//#region 求职申请
Pop.AppJob = function () {
    Pop.Base.call(this);
    this.createElement = function (jobid) {
        //#region 生成布局
        var layout = { body: "", userName: "", userPwd: "", comid: "", jobName: "", updateTime: "", content: "", foot: "" };
        var control = { selJobletter: "", selResume: "", lookResume: "", mdyResume: "", btnSumbit: "" };
        var resume = "";
        var letter = "";
        var content = "";
        var updList = [], letterList = [];
        var selResume, selLetter; //简历下拉菜单,求职信下拉菜单(js对象)；
        var html = [], foot = [];
        html.push('<div id="pop-apply" class="pop-apply pop-common">');
        html.push(' <ul>');
        html.push(' <li><label>职位名称：</label><i>销售员</i></li>');
        html.push(' <li><label>招聘单位：</label><i>重庆智成人才</i></li>');
        html.push(' <li><label><b>*</b>选择发送的简历：</label><select></select></li>');
        html.push(' <li><label>您的简历：</label>更新时间：<i>暂无数据</i><a href="javascript:;">修改简历</a><a href="javascript:;">预览简历</a></li> ');
        html.push(' <li><label>求&nbsp;职&nbsp;信：</label><select id=\"letterId\"></select></li>');
        html.push('<li><label></label><textarea></textarea></li>');
        html.push(' </ul>');
        html.push('</div>');
        foot.push(' <div class="layfoot"> ');
        foot.push(' <a href="javascript:;">确定</a>');
        foot.push('</div>');
        layout.body = $(html.join("\r\n"));
        layout.foot = $(foot.join("\r\n"));
        selResume = layout.body.find("select").get(0);
        selLetter = layout.body.find("select").get(1);
        control.selResume = $(layout.body).find("select").eq(0);
        control.selJobletter = $(layout.body).find("select").eq(1);
        control.lookResume = $(layout.body).find("li a").eq(0);
        control.mdyResume = $(layout.body).find("li a").eq(1);
        control.btnSumbit = $(layout.foot).find("a").eq(0);
        var _appjob = this;
        var _$resume = null;
        var _$appjob = $("#tips");
        $.getJSON("/Person/Resume/GetResumeAndLetter", { jobId: jobid }, function (data) {
            //验证登录是否超时
            if (data.imsg == "norights") {
                _$appjob.tips({ content: "对不起，您登录超时！", left: 50, top: 55, type: "warning" });
                return false;
            }
            if (data.imsg == "fail") {
                _$appjob.tips({ content: "该职位已经过期，不能申请！", left: 50, top: 55, type: "warning" });
                return false;
            }
            //没有填写简历
            if (data.isOpen == 0) {
                resume += "<option value='-1'>请填写简历</option>";
            }
            //没有公开的简历
            else if (data.isOpen == 1) { resume += "<option value='-100'>请填写简历</option>"; }
            else {
                $(data.Resume).each(function (i, item) {
                    resume += "<option value='" + item.ID + "'>" + item.Title + "</option>";
                    updList.push(item.RefreshTime);
                });
            }
            if (data.Letter == "") {
                letter += "<option>请选择求职信</option>";
            }
            else {
                $(data.Letter).each(function (i, item) {
                    letter += "<option value='" + item.ID + "'>" + item.Name + "</option>";
                    letterList.push(item.Content);
                    if (i == 0) {
                        layout.body.find("textarea").append(item.Content);
                    }
                });
            }
            $(data.model).each(function (i, item) {
                layout.body.find("i").eq(0).append(item.JobName);
                layout.body.find("i").eq(1).append(item.CompanyName);
                layout.comid = item.CId;
                layout.jobName = item.JobName;
            });
            _$resume = layout.body.find("select").eq(0);
            _$resume.append(resume);
            layout.body.find("select").eq(1).append(letter);
            layout.updateTime = layout.body.find("i").eq(2);
            layout.content = layout.body.find("textarea").eq(0);
            if (updList.length > 0) {
                var refTime = updList[0];
                var date = (new Date(parseInt((JSON.stringify(refTime)).replace(new RegExp('(^|[^\\\\])\\"/Date\\((-?[0-9]+)\\)/\\"', 'g'), "$2")))).toFormatString("yyyy-MM-dd");
                layout.body.find("i").eq(2).html(date)
            }
            _appjob.setBody(layout.body);
            _appjob.setFooter(layout.foot);
            _appjob.show({ width: 460, height: 0 });
        });
        //#endregion

        //#region method

        //#region 简历验证方法
        var _isApp = function (AppTime) {//判断申请的职位是否已经超过3天
            var eDate = new Date(parseInt((JSON.stringify(AppTime)).replace(new RegExp('(^|[^\\\\])\\"/Date\\((-?[0-9]+)\\)/\\"', 'g'), "$2")));
            var today = new Date();
            var a = today - eDate;
            var days = Math.floor(a / (24 * 3600 * 1000));
            if (days > 3) {
                return true;
            }
            return false;
        }
        var _checkOpenResume = function (resumeId) {
            if (resumeId == -1) {
                ZC.Pop.close();
                _$appjob.tips({ content: "对不起，您还未填写简历!", left: 50, top: 55, type: "warning" });
                window.open("/Person/Resume/SetResume", '_blank', '');
                return false;
            }
            else if (resumeId == -100) {
                ZC.Pop.close();
                _$appjob.tips({ content: "对不起，您还没有设置公开的简历!", left: 50, top: 55, type: "warning" });
                window.open("/person/resume/index", '_blank', '');
                return false;
            }
            return true;
        }
        //#endregion
        //#endregion

        //#region 事件
        //#region 联动简历修改时间
        control.selResume.click(function () {
            var refTime = updList[selResume.selectedIndex];
            var date = (new Date(parseInt((JSON.stringify(refTime)).replace(new RegExp('(^|[^\\\\])\\"/Date\\((-?[0-9]+)\\)/\\"', 'g'), "$2")))).toFormatString("yyyy-MM-dd");
            layout.updateTime.html(date);
        });
        //#endregion
        //#region 联动求职信
        control.selJobletter.click(function () {
            var letter = letterList[selLetter.selectedIndex];
            layout.content.html(letter);
        });
        //#endregion
        //#region 简历预览
        control.lookResume.click(function () {
            var resumeId = _$resume.val();
            if (_checkOpenResume(resumeId)) {
                ZC.Pop.close();
                window.open("/Per/Resume?id=" + resumeId, '_blank', '');
            }
        });
        //#endregion
        //#region 简历修改
        control.mdyResume.click(function () {
            var resumeId = _$resume.val();
            if (_checkOpenResume(resumeId)) {
                ZC.Pop.close();
                window.open("/Person/Resume/SetResume?id=" + resumeId, '_blank', '');
            }
        });
        //#endregion
        // #region 职位申请
        control.btnSumbit.click(function () {
            var resumeId = _$resume.val(), jobLetter = layout.body.find("textarea").eq(0).val();
            var parms = { jobId: jobid, resumeID: resumeId };
            //#region 简历验证方法
            if (_checkOpenResume(resumeId)) {
                $.post("/Company/chcekContains", parms, function (data) {
                    if (data != "ok") {
                        //如果申请的职位超过3天，则修改其申请时间
                        _appjob.close();
                        if (ZC.Pop.entity.Login.prototype.method.isApp(data)) {
                            $.post("/person/job/modifyCPRbyID", parms, function (data) {
                                if (data == "ok") _$appjob.tips({ content: "职位申请成功！", left: 180, top: 100 });
                                else _$appjob.tips({ content: "职位申请失败!", left: 50, top: 55, type: "warning" });
                            })
                        }
                        else {
                            _$appjob.tips({ content: "该简历已经申请该职位，并在3天内保存！", left: 50, top: 55, type: "warning" });
                        }
                    }
                    else {
                        _appjob.setIterm();
                        sorParms = { jobID: jobid, CompanyID: layout.comid, jobName: layout.jobName, resumeId: resumeId, letter: jobLetter };
                        
                        $.post("/Company/AddJobRecord", sorParms, function (data) {
                            _appjob.close();
                            if (data == "norigths") {
                                _$appjob.tips({ content: "对不起，您登录超时!", left: 50, top: 55, type: "warning" });
                            }
                            if (data == "ok") {
                                _$appjob.tips({ content: "职位申请成功!", left: 35, top: 60 });
                            }
                            else {
                                _$appjob.tips({ content: "位申请失败!", left: 50, top: 55, type: "warning" });
                            }
                        });
                    }
                });
            }
            //#endregion
        });
        //#endregion


        //回车键
        $(layout.body).keydown(function (event) {
            var e = $.event.fix(event);
            if (e.keyCode == 13) {
                $(control.btnSumbit).click();
            }
        });
        //#endregion

        return layout;
    }
};
Pop.AppJob.prototype = new Pop.Base();
Pop.AppJob.prototype.constructor = Pop.AppJob;
Pop.AppJob.prototype.init = function (jobid) {
    this.setTitle("求职申请");
    
    this.createElement(jobid);
};
//#endregion

//#region 职位搜藏
Pop.FaviortJob = function () {
    Pop.Base.call(this);
    this.createElement = function () {
        var appModel = { JobId: $("#jobId").val(), PersonID: $("#logId").val(), Remark: "" };
        var _$favort = $("#tips");
        $.post("/person/job/chcekContains", { jobId: $("#jobId").val() }, function (data) {
            if (data == "ok") {
                $.post("/person/job/AddFaviortJob", appModel, function (msg) {
                    pops.entity.FaviortJob.close();
                    if (msg == "ok") {
                        _$favort.tips({ content: "恭喜，职位搜藏成功！", left: 50, top: 55 });
                    }
                    else {
                        _$favort.tips({ content: "职位搜藏失败！", left: 50, top: 55, type: "warning" });
                    }
                });
            }
            else {
                pops.entity.FaviortJob.close();
                _$favort.tips({ content: "您已经收藏了该职位，无需重复添加！", left: 50, top: 55, type: "warning" });
            }
        });
        //#region method
        //#endregion
        //#region envent
        //#endregion
    };
};
Pop.FaviortJob.prototype = new Pop.Base();
Pop.FaviortJob.prototype.constructor = Pop.FaviortJob;
Pop.FaviortJob.prototype.init = function () {
    this.setTitle("职位搜藏");
    this.setIterm();
    this.createElement();
};
//#endregion

//#region 推荐给好友
Pop.Recommand = function () {
    Pop.Base.call(this);
    this.createElement = function () {
        //创建模版
        var layout = { body: "", foot: "" };
        //创建控件
        var control = { ename: "", btnSubmit: "", email: "", nemail: "", companyName: "", jobName: "", reply: "", bcount: "", url: "" }
        var html = [], foot = [];
        //#region 生成布局
        html.push(' <div id="pop-recommend" class="pop-recommend pop-common">');
        html.push(' <ul> ');
        html.push(' <li><label><b>*</b>您的名字：</label><input type="text"/><span class="tip error" style="display:none">请输入您的名字</span></li> ');
        html.push(' <li><label><b>*</b>您的邮箱：</label><input type="text"/><span class="tip error" style="display:none">请输入您的邮箱</span></li> ');
        html.push(' <li><label><b>*</b>好友邮箱：</label><input type="text"/><span class="tip error" style="display:none">请输入您朋友的邮箱</span></li> ');
        html.push(' <li class="li-p"><p>我在智诚人才网上看到一个职位，<a href="javascript:;">' + $("#companyName").text() + '</a> 招聘 <a href="javascript:;">' + $("#jobName b").text() + '</a>.如果您感兴趣的话，可以去看看！这个职位的网址是： ');
        html.push('<i>' + window.location + '</i>');
        html.push(' </p></li> ');
        html.push(' <li class="liveMessage"><label>您的留言：</label>');
        html.push(' <textarea></textarea>');
        html.push(' <span>最多&nbsp;<b>500</b>&nbsp;字，剩余&nbsp;<i>500</i>&nbsp;字</span> ');
        html.push(' </li> ');
        html.push(' </ul> ');
        html.push(' </div> ');
        foot.push('<div class="layfoot"> ');
        foot.push(' <a href="javascript:;">确定</a> ');
        foot.push('</div>');
        layout.body = $(html.join("\r\n"));
        layout.foot = $(foot.join("\r\n"));
        //加载控件
        control.companyName = $("#companyName").text();
        control.jobName = $("#jobName b").text();
        control.url = layout.body.find("i").eq(0).text();
        control.bcount = layout.body.find("b").eq(3);
        var inputs = layout.body.find("input");
        control.ename = inputs.eq(0);
        control.email = inputs.eq(1);
        control.nemail = inputs.eq(2);
        control.reply = layout.body.find("textarea").eq(0);
        control.btnSubmit = layout.foot.find("a").eq(0);
        var _recommand = this;
        var _$recommand = $("#tips");
        $.post("/person/sys/GetPersonDetail", {}, function (data) {
            if (data.imsg == "ok") {
                control.ename.val(data.model.CnName);
                control.email.val(data.model.Email);
            }
            _recommand.setBody(layout.body);
            _recommand.setFooter(layout.foot);
            _recommand.show({ width: 600, height: 0 });
        });
        //#endregion
        //#region method
        //#region 验证
        /// <summary>验证</summary>
        var _nameVaild = function () {
            var _cSpan = layout.body.find("span").eq(0);
            if (control.ename.val() == "") {
                _cSpan.show();
                return false;
            }
            else {
                _cSpan.hide();
            }
            return true;
        };
        var _emailVaild = function (type) {
            var _eSpan = layout.body.find("span").eq(1);
            var _nSpan = layout.body.find("span").eq(2);
            reg = new RegExp("^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{3,})$");
            if (type == 0) {
                if (control.email.val() == "") {
                    _eSpan.html("请输入您的邮箱")
                    _eSpan.show();
                    return false;
                }
                else { _eSpan.hide(); }
                if (!reg.test(control.email.val())) {
                    _eSpan.show();
                    _eSpan.html("请输入正确的邮箱格式");
                    return false;
                }
            }
            else {
                if (control.nemail.val() == "") {
                    _nSpan.html("请输入您好友的邮箱")
                    _nSpan.show();
                    return false;
                }
                else { _nSpan.hide(); }
                if (!reg.test(control.nemail.val())) {
                    _nSpan.show();
                    _nSpan.html("请输入正确的邮箱格式");
                    return false;
                }
            }

            return true;
        }
        //#endregion
        //#endregion
        //#region event
        control.btnSubmit.click(function () {
            //验证
            _nameVaild(); _emailVaild(1); _emailVaild(0);
            if (!_nameVaild() || !_emailVaild(1) || !_emailVaild(0)) {
                return false;
            }
            var jstr = { jobName: control.jobName, companyName: control.companyName,
                url: control.url, loginID: control.ename.val(), loginEmail: control.email.val(),
                msg: control.reply.val(), emailAddress: control.nemail.val()
            };
            $.post("/Company/RecomandJob", jstr,function (data) {
               pops.entity.Recommand.close();
            if (data.cmd == "ok") {
                _$recommand.tips({ content: "恭喜，职位推荐成功！", left: 50, top: 55 });
            } else {
                _$recommand.tips({ content: "职位推荐失败！", left: 50, top: 55 });
            }
         });
        });
        $(control.ename).keyup(function () { _nameVaild(); });
        $(control.email).keyup(function () { _emailVaild(0); });
        $(control.nemail).keyup(function () { _emailVaild(1); });
        $(control.reply).keyup(function () {
            var $bcount = control.bcount;
            var len = 500 - control.reply.val().length;
            $bcount.text(len);
            if (len <= 0) {
                control.reply.val(control.reply.val().substring(0, 500));
                $bcount.text(0);
            }
        });
        //#endregion
        return layout;
    };
};
Pop.Recommand.prototype = new Pop.Base();
Pop.Recommand.prototype.constructor = Pop.Recommand;
Pop.Recommand.prototype.init = function () {
    this.setTitle("推荐给好友");
    this.setIterm();
    this.createElement();
};
//#endregion

//#region  举报
Pop.Report = function () {
    Pop.Base.call(this);
    this.createElement = function () {
        //创建模版
        var layout = { body: "", foot: "" };
        //创建控件
        var control = { companyName: "", btnSubmit: "", phone: "", bcount: "", content: "", personName: "" }
        var html = [], foot = [];
        //#region 生成布局
        html.push('<div id="pop-report"  class="pop-report pop-common">');
        html.push('<ul>');
        html.push('<li><label><b>*</b>您的电话：</label><input type="text"/><span class="tip error" style="display:none">请输入联系电话</span></li>');
        html.push('<li class="lMessage"><label><b>*</b>举报内容：</label><textarea></textarea><span class="icion">最多<i>&nbsp;500&nbsp</i>字，剩余<b>&nbsp;500&nbsp</b>字</span>');
        html.push('<span class="tip error" style="display:none">请输入举报内容</span></li>');
        html.push('</ul></div>');
        foot.push(' <div class="layfoot"> ');
        foot.push(' <a href="javascript:;">确定</a>');
        foot.push('</div>');
        layout.body = $(html.join("\r\n"));
        layout.foot = $(foot.join("\r\n"));
        //加载控件
        control.companyName = $("#companyName").text();
        control.btnSubmit = layout.foot.find("a");
        control.bcount = layout.body.find("b").eq(2);
        control.content = layout.body.find("textarea").eq(0);
        control.phone = layout.body.find("input").eq(0);
        var _$Report = $("#cmg");
        var _Report = this;
        $.post("/person/sys/GetPersonDetail", {}, function (data) {
            //验证登录是否超时
            if (data.imsg == undefined) {
                alert("对不起，您登录")
                return false;
            }
           
            control.phone.val(data.model.Tel);


            control.personName = data.model.CnName;
            _Report.setBody(layout.body);
            _Report.setFooter(layout.foot);
            _Report.show({ width: 430, height: 160 });

        });
        //#endregion
        //#region method
        //#region 验证
        /// <summary>验证</summary>

        var _contentVaild = function () {
            var cSpan = layout.body.find("span").eq(2);
            if (control.content.val() == "") {
                cSpan.html("请输入联系电话！");
                cSpan.show();
                return false;
            }
            else { cSpan.hide(); }
            return true;

        }

        var _phoneVaild = function () {
            var phSpan = layout.body.find("span").eq(0);
            reg = new RegExp("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
            if (control.phone.val() == "") {
                phSpan.html("请输入手机号码！");
                phSpan.show();
                return false;
            }

            if (!reg.test(control.phone.val())) {
                phSpan.show();
                phSpan.html("手机号码有误！");
                return false;
            }
            else {
                phSpan.hide();
            }
            return true;
        }
        //#endregion
        //#endregion

        //#region event
        control.btnSubmit.click(function () {
            //验证
            _phoneVaild(); _contentVaild()
            if (!_phoneVaild() || !_contentVaild()) {
                return false;
            }
            var report = new Object();
            report.Phone = control.phone.val();
            report.PersonName = control.personName;
            report.CompanyId = $("#comId").val();
            report.CompanyName = control.companyName;
            report.Remark = control.content.val();
            _Report.setIterm();
            $.post("/Company/CheckReport", { cID: $("#comId").val() }, function (data) {
                if (data == "ok") {
                    $.post("/Company/AddReprot", report, function (data) {
                        _Report.close();
                        if (data == "issure")
                            _$Report.tips({ content: "我们已经收录您的举报，请等待我们的回复！", left: 50, top: 55,width:500 });

                        else
                            _$Report.tips({ content: "对不起，举报失败！", left: 50, top: 55, type: "warning"});
                           
                    });
                }
                else
                    _Report.close();
                _$Report.tips({ content: "您已经举报了该公司，请静候我们的回复！", left: 150, top: 50, type: "warning", width: 500});
               
            });
        });
        $(control.content).keyup(function () {
            var $bcount = control.bcount;
            var $content = control.content;
            var len = 500 - $content.val().length;
            $bcount.text(len);
            if (len <= 0) {

                control.content.val(control.content.val().substring(0, 500));
                $bcount.text(0);
            }
            _contentVaild();
        });

        $(control.phone).keyup(function () {

            _phoneVaild();

        });


        //回车键
        $(layout.body).keydown(function (event) {
            var e = $.event.fix(event);
            if (e.keyCode == 13) {
                
                $(control.button).click();
            }
        });
        //#endregion
        //#endregion
        return layout;
    };
};
Pop.Report.prototype = new Pop.Base();
Pop.Report.prototype.constructor = Pop.Report;
Pop.Report.prototype.init = function () {
    this.setTitle("举报");
    this.setIterm();
    this.createElement();
};

//#endregion

//#region  面试通知
Pop.Interview = function () {
    Pop.Base.call(this);
    this.createElement = function () {
        //创建模版
        var layout = { body: "", foot: "" };
        //创建控件
        var control = {
            selJob: "",
            btnSubmit: "",
            interTime: "",
            address: "",
            contact: "",
            phone: "",
            remark: "",
            bcount: ""
        };
        var html = [], foot = [];
        //#region 生成布局
        //        html.push('<div id="pop-report"  class="pop-report pop-common">');
        //        html.push('<ul>');
        //        html.push('<li><label><b>*</b>您的电话：</label><input type="text"/><span class="tip error" style="display:none">请输入联系电话</span></li>');
        //        html.push('<li class="lMessage"><label><b>*</b>举报内容：</label><textarea></textarea><span class="icion">最多<i>&nbsp;500&nbsp</i>字，剩余<b>&nbsp;500&nbsp</b>字</span>');
        //        html.push('<span class="tip error" style="display:none">请输入举报内容</span></li>');
        //        html.push('</ul></div>');
        //        foot.push(' <div class="layfoot"> ');
        //        foot.push(' <a href="javascript:;">确定</a>');
        //        foot.push('</div>');

        html.push('<div id="pop-recommend" class="pop-recommend pop-common">');
        html.push(' <ul>');
        html.push(' <li><label><b>*</b>面试职位：</label><select></select></li>');
        html.push(' <li><label><b>*</b>面试时间：</label><input type="text"/><span class="tip error" style="display:none">请输入面试时间</span></li>');
        html.push(' <li><label><b>*</b>面试地点：</label><input type="text"/><span class="tip error" style="display:none">请输入面试地点</span></li>');
        html.push(' <li><label><b></b>联 系 人 ：</label><input type="text"/></li>');
        html.push(' <li><label><b>*</b>联系电话：</label><input type="text"/><span class="tip error" style="display:none">请输入联系电话</span></li>');
        html.push(' <li class="li-p" style="height:80px;overflow:hidden"><p>我在智诚人才网上看到了您投来的简历，我们热忱欢迎您前来面试！这个职位的网址是： ');
        html.push('<i>' + window.location + '</i>');
        html.push(' </p></li> ');
        html.push(' <li class="liveMessage"><label>邀请内容：</label>');
        html.push(' <textarea></textarea>');
        html.push(' <span>最多&nbsp;<b>500</b>&nbsp;字，剩余&nbsp;<i>500</i>&nbsp;字</span> ');
        html.push(' </li> ');
        html.push(' </ul>');
        html.push('</div>');
        foot.push(' <div class="layfoot"> ');
        foot.push(' <a href="javascript:;">确定</a>');
        foot.push('</div>');
        layout.body = $(html.join("\r\n"));
        layout.foot = $(foot.join("\r\n"));
        //加载控件
        control.selJob = layout.body.find("select");
        control.btnSubmit = layout.foot.find("a");
        control.bcount = layout.body.find("span i").eq(0);
        var _inputs = layout.body.find("input");
        control.interTime = _inputs.eq(0);
        control.address = _inputs.eq(1);
        control.contact = _inputs.eq(2);
        control.phone = _inputs.eq(3);
        control.remark = layout.body.find("textarea").eq(0);
        
        var _Interview = this;

        $.getJSON("/Per/GetJobs", {}, function (result) {
            if (result.length == 0) {
                alert("您还没有发布职位，无法邀请面试！");
                return false;
            }
            $(result.List).each(function (i, item) {
                var option = '<option value="' + item.ID + '">' + item.Name + '</option>';
                control.selJob.append(option);
            });
            control.phone.val(result.Detail.Phone);
            control.contact.val(result.Detail.Contacter);
            control.address.val(result.Detail.Address);
            _Interview.setBody(layout.body);
            _Interview.setFooter(layout.foot);
            _Interview.show({ width: 600, height: 0 });


        });

        //#endregion

        //#region ===================method
        //#region 验证
        /// <summary>验证</summary>
        //时间
        var _timeVaild = function () {
            var _tSpan = layout.body.find("span").eq(0);
            if (control.interTime.val() == "") { _tSpan.show(); return false; }
            else { _tSpan.hide(); }
            return true;

        };
        //地点
        var _addressVaild = function () {
            var _aSpan = layout.body.find("span").eq(1);
            if (control.address.val() == "") { _aSpan.show(); return false; }
            else { _aSpan.hide(); }
            return true;
        };
        //联系电话
        var _phoneVaild = function () {
            var phSpan = layout.body.find("span").eq(2);
            reg = new RegExp("^((13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
            if (control.phone.val() == "") {
                phSpan.html("请输入手机号码！");
                phSpan.show();
                return false;
            }

            if (!reg.test(control.phone.val())) {
                phSpan.show();
                phSpan.html("手机号码有误！");
                return false;
            }
            else {
                phSpan.hide();
            }
            return true;
        }
        //内容
        var _contentVaild = function () {
            var _cSpan = layout.body.find("span").eq(3);
            if (control.remark.val() == "") {
                _cSpan.html("请输入联系电话！");
                _cSpan.show();
                return false;
            }
            else { _cSpan.hide(); }
            return true;

        };
        //#endregion

        var _SubmitOrHidden = function (evt) {
            evt = window.event || evt;
            if (evt.keyCode == 13) {//如果取到的键值是回车
                control.btnSubmit.trigger("click");
            }

        }
        //#endregion

        //#region event
        control.btnSubmit.click(function () {
            //验证
            _timeVaild(); _addressVaild(); _phoneVaild();
            if (!_timeVaild() || !_addressVaild() || !_phoneVaild()) {
                return false;
            }
            var interview = new Object();
            interview.Phone = control.phone.val();
            interview.SenJob = control.selJob.val();
            interview.Intertime = control.interTime.val();
            interview.Address = control.address.val();
            interview.Contact = control.contact.val();
            interview.Phone = control.phone.val();
            interview.Remark = control.remark.val();

            //===============邀请面试处理方法=========
            _Interview.setIterm();
            alert(JSON.stringify(interview));

        });

        $(control.interTime).keyup(function () {
            _timeVaild();

        });

        $(control.phone).keyup(function () {
            _phoneVaild();

        });
        $(control.address).keyup(function () {
            _addressVaild()

        });

        //========回车键
        window.document.onkeydown = _SubmitOrHidden;

        //#endregion
        //#endregion
        return layout;
    };
};
Pop.Interview.prototype = new Pop.Base();
Pop.Interview.prototype.constructor = Pop.Interview;
Pop.Interview.prototype.init = function () {
    this.setTitle("邀请面试");
    this.setIterm();
    this.createElement();
};

//#endregion

//#region  简历回复
Pop.Reply = function () {
    Pop.Base.call(this);
    this.createElement = function () {
        //创建模版
        var layout = { body: "", foot: "" };
        //创建控件
        var control = {
            btnSubmit: "",
            reply: "",
            bcount: ""
        };
        var html = [], foot = [];


        html.push('<div id="pop-report" class="pop-report pop-common" style="padding-top:-10px">');
        html.push(' <ul>');

        html.push('<li class="lMessage"><label><b>*</b>回复内容：</label><textarea></textarea><span class="icion">最多<i>&nbsp;500&nbsp</i>字，剩余<b>&nbsp;500&nbsp</b>字</span>');
        html.push('<span class="tip error" style="display:none">请输入举报内容</span></li>');
        html.push(' </ul>');
        html.push('</div>');
        foot.push(' <div class="layfoot"> ');
        foot.push(' <a href="javascript:;">确定</a>');
        foot.push('</div>');
        layout.body = $(html.join("\r\n"));
        layout.foot = $(foot.join("\r\n"));
        //加载控件
        control.btnSubmit = layout.foot.find("a");
        control.bcount = layout.body.find("b").eq(1);
        var _inputs = layout.body.find("input");
        control.reply = layout.body.find("textarea").eq(0);
        this.setBody(layout.body);
        this.setFooter(layout.foot);
        this.show({ width: 430, height: 110 });
        //#endregion

        //#region ===================method
        //#region 验证
        /// <summary>验证</summary>

        //内容
        var _contentVaild = function () {
            var _cSpan = layout.body.find("span").eq(1);
            if (control.reply.val() == "") {
                _cSpan.html("请输入回复内容！");
                _cSpan.show();
                return false;
            }
            else { _cSpan.hide(); }
            return true;

        };
        //#endregion

        var _SubmitOrHidden = function (evt) {
            evt = window.event || evt;
            if (evt.keyCode == 13) {//如果取到的键值是回车
                control.btnSubmit.trigger("click");
            }

        }
        //#endregion

        //#region event
        var _that = this;
        control.btnSubmit.click(function () {
            //验证
            _contentVaild();
            if (!_contentVaild()) {
                return false;
            }
            var Reply = new Object();
            Reply.reply = control.reply.val();


            //===============邀请面试处理方法=========
            _that.setIterm();
            alert(JSON.stringify(Reply));

        });

        $(control.reply).keyup(function () {
            _contentVaild()

        });

        //========回车键
        window.document.onkeydown = _SubmitOrHidden;

        //#endregion
        //#endregion
        return layout;
    };
};
Pop.Reply.prototype = new Pop.Base();
Pop.Reply.prototype.constructor = Pop.Reply;
Pop.Reply.prototype.init = function () {
    this.setTitle("简历回复");
    this.setIterm();
    this.createElement();
};

//#endregion


