﻿var Contact =
{
    init: function () {

        $('#frmContact').validate(
                                        {
                                            rules: {
                                                email: {
                                                    required: true,
                                                    email: true
                                                },
                                                name: {
                                                    required: true,
                                                    minlength: 4
                                                },
                                                message: {
                                                    required: true,
                                                    minlength: 16
                                                }
                                            },
                                            messages: {
                                                email: {
                                                    required: 'Bitte gib deine Emailadresse an.',
                                                    email: 'Bitte gib eine gülitge Emailadresse an.'
                                                },
                                                name: {
                                                    required: 'Bitte gib deinen Namen an.',
                                                    minlength: 'Es müssen mindestens 4 Zeichen als Name angegeben werden.'
                                                },
                                                message: {
                                                    required: 'Bitte gib eine Nachricht ein.',
                                                    minlength: 'Es müssen mindestens 16 Zeichen als Nachricht angegeben werden.'
                                                }
                                            },
                                            submitHandler: function (form) {
                                                var options = {
                                                    dataType: 'json',
                                                    beforeSubmit: function (values, form, options) {
                                                        $('#contactMessage').text('').css('color', '').hide();
                                                        $U.disableInputs('#frmContact', true);
                                                        $U.showProgress('Nachricht wird weitergeleitet...', '#btnContactSubmit');
                                                    },
                                                    success: function (result) {
                                                        $U.disableInputs('#frmContact', false);
                                                        $U.hideProgress();

                                                        if (result.isSuccessful) {
                                                            $('#txtContactEmail').val('');
                                                            $('#txtContactName').val('');
                                                            $('#txtContactMessage').val('');

                                                            $('#contactMessage').text('Vielen Dank für deine Nachricht. Wir werden so schnell wie möglich versuchen, deine Anfrage zu bearbeiten.').css('color', '#33840c').show();
                                                        }
                                                        else {
                                                            $('#contactMessage').text(result.errorMessage).css('color', '#ff0000').show();
                                                        }
                                                    }
                                                };

                                                $(form).ajaxSubmit(options);
                                                return false;
                                            },
                                            errorPlacement: $U.onErrorPlacement,
                                            highlight: $U.onHighlight,
                                            unhighlight: $U.onUnhighlight
                                        }
                                    );

        $('#txtContactEmail').focus();
    },

    dispose: function () {
        $('#txtContactEmail').unbind();
        $('#txtContactName').unbind();
        $('#txtContactMessage').unbind();
        $('#frmContact').unbind();
    }
};
