/* Script for sending messages from client to company*/

$(document).ready(function () {
    msgce.init();

});

var msgce = (function () {

    var m = {
        init:function () {

            m.askQuestion();
            m.contactUs();

        },
        validate:function (formData, jqForm, options) {
//      if(formData) {console.log(formData, jqForm, options);return false;}

//            var form = jqForm[0];
//
//
//            $.each(form, function (i, v) {
//                if ($(v).hasClass('check')) {
//                    if (!$(v).val()) {
//                        $(v).addClass('err')
//                    } else {
//                        $(v).removeClass('err')
//                    }
//                }
//            });
//            if (!form.email.value || !form.phone.value || !form.fname.value || !form.sname.value || !form.text.value) {
//                alert('Заполните, пожалуйста, все поля.')
////        $(form.email).css({border: '3px solid red'})
//                return false;
//            }

        },

        contactUs:function () {
            $('.submit-order').click(function () {
                var id = $(this).attr('idd')
                var title = 'Запрос дополнительной информации';
                var text = 'Здравствуйте.\n\nС уважением,\n'
                $('#f-title').val(title);
                $('#f-message').val(text);
                var mt = 'Задать вопрос компании ' + $(this).attr('cname');
                $('#postmsg').attr('action', $('#postmsg').attr('action') + id + '/');

                m.showModal('#dialx',mt, id);
//                var options = {
//                    beforeSubmit:m.validate,
//                    success:function () {
//                        alert('Сообщение отправлено. Спасибо.');
//                        $('#dial').dialog('close');
//                    }
//                }
//
//                $('#postmsg').ajaxForm(options);
                return false;
            });
        },
        askQuestion:function () {
            $('.btconnect').live('click',function () {

                var id = $(this).attr('idd')
                var title = 'Вопрос по товару "' + $(this).attr('ptitle') + '"';
                var text = 'Здравствуйте.\nМеня интересует ' + $(this).attr('ptitle') + '. Не могли бы Вы сообщить дополнительную информацию по данной позиции?\n'
                $('#f-title').val(title);
                $('#f-message').val(text);
                var mt = 'Задать вопрос компании ' + $(this).attr('cname');
                $('#postmsg').attr('action', $('#postmsg').attr('action') + id + '/');

                m.showModal('#dial', mt, id);
//                });

                return false;

            });
        },
        showModal:function (id,title,pid) {

            $(id).dialog({
                modal:true,
                width:800,
                height:450,
                title:title,
                buttons:{
                    'Отправить':function () {
                        m.sendQuestion(pid);


//              return false;
//                        $('#postmsg').trigger('submit');
                    }
                }
            })
        },

        sendQuestion: function(pid, type){
            email_re = /^[-a-z0-9!#$%&'*+/=?^_`{|}~]+(?:\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(?:[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*(?:aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|[a-z][a-z])$/

            var data = {};
            data.email = $('#f-from-email').val();
            if (!email_re.test(data.email)) {
                alert("Введите правильно E-mail адрес.");
                return false;
            }
            data.phone = $('#f-from-phone').val();
            data.f_name = $('#f-from-fname').val();
            data.l_name = $('#f-from-lname').val();
            data.subject = $('#f-title').val();
            data.text = $('#f-message').val();
//            console.log(data)
//        data.csrftoken = getCookie('csrftoken');

            var flag = false;
            for (var i in data) {
                if (data[i] == null || data[i].length == 0) flag = true;
            }

            if (flag) {
                alert("Заполните все поля перед отправкой сообщения.");
                return false;
            }

            data.captcha_0 = $("#captcha_0").val();
            data.captcha_1 = $("#captcha_1").val();


            $.ajax({
                headers: {"X-CSRFToken":data.csrftoken},
                url: '/ajax/new_message/' + 'company' + '/' + pid + '/',
                type: 'POST',
                data: data,
                async: true,
                error: function() {
                    alert("Ошибка сервера. Попробуйте позже.");
                },
                success: function(ret) {
                    // console.log (ret);
                    if (ret == "ok") {
                        alert("Сообщение отправлено. Данные для входа в личный кабинет высланы на Ваш E-mail");
                        $('body').trigger("close_overlay");
                        window.location.reload(true);
                    }
                    if (ret.captcha) {
                        $("#captcha_0").val(ret.captcha_0);
                        $("#captcha_1").val("");
                        $("#captcha_img").empty();
                        $("#captcha_img").append("<img src='/" + ret.captcha + "'>");
                        $(".captcha-div").slideDown();
                        return;
                    }
                    if (ret.error == "duplicate_email") alert("Пользователь с таким email уже зарегистрирован в системе.");

                }
            });
        }

    }

    return m;
})();

