// 报名调用方法

/*--------------------------------- HTML 说明 --------------------------------------------------------*/
/*
* HTML   添加的样式 form中添加submit_area样式
*        提交按钮添加apply_submit样式
* */
// <form class="submit_area">
//     <div class="y_reduced_left">
//     <input type="hidden" name="aid" value="0">
//     <input name="telecall" type="text" class="y_input_name" placeholder="您的称呼">
//     <input name="mobile" type="text" class="y_input_mobile" placeholder="您的电话">
//     <input type="button" class="y_input_submit apply_submit" value="提 交">
//     </div>
// </form>
/*---------------------------------- 报名提交调用方法 -------------------------------------------------------*/
/*
* 调用的方法
* */
// PublicAction.AjaxSend(
//     {
//         CORID:'apply_submit',               /*操作ID*/
//     }
// );
/*----------------------------------- 隐藏 input 传值的说明 ------------------------------------------------------*/
/*
 *    aid                    楼盘ID   ( 属于楼盘为楼盘ID,不属于楼盘为公共报名为0 )
 *    SourceModule           来源ID   ( 来源哪个页面的哪个报名窗口 )
 *    equipment              来源设备 ( PC端  P 或 2,手机端  M 或 1 )
 *
 *
 * */

/*----------------------------------- SourceModule 标识说明 -----------------------------------------------------*/
/*      <--- pc 端 --->
*      0 => 列表-降价通知


*       <--- 手机端 --->
*       0 => 楼盘首页-优惠获取

*
* */

/*---------------------------弹窗调用的方法说明-----------------------------------------------*/
/*
*    http://www.jq22.com/yanshi15047
*/

/*------------------------------------以下是封装的方法-----------------------------------------------------*/
var PublicAction = {

    /* AjaxSend-----Ajax发送*/
    "AjaxSend": function (e, fnEnd) {
        var self = this, result;
        // 获取
        var urlstr = window.location.href;
        var searchurl = urlstr.substring(0, urlstr.indexOf('?') + 1);
        // var matchdata = urlstr.match(/\.com(\/\w+)/)[1];

        var oid = e.CORID,                      //ID
            url = '/enroll/signup',        //提交地址
            type = "POST",                      //提交方式
            async = true;                      //同步或异步

        //点击提交按钮触发事件
        $('.' + oid).on('click', function () {
            var $than = $(this);
            $than.attr('disabled', 'disabled');
            var that = $(this).parents('form.submit_area');     //获取当前父层
            var data = {},                                      //定义一个对象
                ControlSwitch = true;                           //定义一个开关
            that.find('input').each(function () {               //遍历父层中所有input
                var name = $(this).attr('name');                //当前input 中有name属性
                if (typeof name == 'string') {                    //input 标签中有name属性才进行以下操作
                    var txt = $(this).val();                    //input 值
                    var InputName = $(this).attr('name');       //属于 name 的值

                    txt = self.FilterHTMLTag(txt);               //去掉标签

                    /* 验证电话码号 */
                    if (InputName == 'mobile') {
                        if (txt != "") {
                            if (!self.PhoneVerification(txt)) {          //验证电话号码

                                // 特殊处理
                                $('body .alert-container').remove();        //删除尾部添加弹窗

                                self.hint('请输入正确的手机号码!');

                                $than.removeAttr('disabled');
                                ControlSwitch = false;                  //开关为false
                                return false;
                            }
                        } else {
                            $('body .alert-container').remove();        //删除尾部添加弹窗

                            self.hint('请输入正确的手机号码!');

                            $than.removeAttr('disabled');
                            ControlSwitch = false;                  //开关为false
                            return false;
                        }
                    }
                    data[InputName] = txt;
                }
            })

            if (ControlSwitch) {              //当电话号码验证不通过时,不执行以下操作
                $.ajax({
                    type: type,
                    url: url,
                    data: data,
                    async: async,
                    dataType: 'json',
                    error: function (request) {
                        // alert("未提交成功!");
                        // 特殊处理
                        $('body .alert-container').remove();        //删除尾部添加弹窗


                        self.hint('未提交成功!');

                        $than.removeAttr('disabled');
                        // RemoveDiv();            //数据提交成功后关闭弹出层   测试用
                    },
                    success: function (data) {
                        $('body .alert-container').remove();        //删除尾部添加弹窗

                        $('.submit_area input[name="mobile"]').val("");  //成功后清空电话

                        var msg = data.msg;
                        if (data.data != null) {
                            msg = ReturnInfo(data.data);

                            /*判断调方法时,是否传回调方法;有则执行,否执行默认方法*/
                            fnEnd ? fnEnd() : self.hint(msg);

                            $than.removeAttr('disabled');
                            return;
                        }

                        /*判断调方法时,是否传回调方法;有则执行,否执行默认方法*/
                        fnEnd ? fnEnd() : self.hint(msg);

                        RemoveDiv();            //数据提交成功后关闭弹出层
                        $than.removeAttr('disabled');
                    }
                });
                event.preventDefault();         //阻止form表单默认提交
                return false;
            }

        })
    },
    /*-----------------------------------------------------------------------------------------*/
    /* 过滤代码标签 */
    "FilterHTMLTag": function (htmlStr) {
        var msg = htmlStr.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag
        return msg;
    },
    /*-----------------------------------------------------------------------------------------*/
    /* 电话验证 */
    "PhoneVerification": function (tel) {
        var pattern = /(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}$|170[059]\d{7}$/,
            str = tel;
        return pattern.test(tel);
    },
    /*-----------------------------------------------------------------------------------------*/
    /* 提示方法优化 */
    "hint": function (txt) {
        /*调用方法*/
        var M = {};
        if (M.dialog1) {
            return M.dialog1.show();
        }
        M.dialog1 = jqueryAlert({
            'content': txt,                //txt 提示内容
            'closeTime': 2000,
        })
    },


}

$(function () {
    //报名验证及提交的调用
    PublicAction.AjaxSend(
        {
            CORID: 'apply_submit', /*操作ID*/
        }
    );
})