;ET.FEEDBACK = 
{
    $form: null,
    
    mailerSettings: 
    {
        EMAIL_TO: 'customer.relations@escapetravel.com.au',
        EMAIL_FROM: '',
        EMAIL_SUBJECT: 'Feedback submission',
        EMAIL_SUCCESS_URL: '/company/contact-us/feedback-email-sent',
        EMAIL_FAIL_URL: '/company/contact-us/feedback-email-not-sent',
        EMAIL_TEMPLATE: 'escape-travel/global/emails-html/feedback'   
    },
    
    init: function()
    {
        ET.FEEDBACK.$form = $('#feedbackForm');
        ET.FEEDBACK.setupValidation();
    },

    setupValidation: function()
    {
        this.$form.validate(
        {
            rules: 
            {
                email:
                {
                    required: true,
                    email: true
                },
                comments: 'required'
            },
            
            invalidHandler: function(e, validator) 
            {
                ET.FORMS.invalidForm(e, validator);
            },

            submitHandler: function(form)
            {                
                var mailerSettings = {};
                var mailerUrl = '';
                
                // Record event in Google Analytics
                ET.registerGAPageView(
                { 
                    basePath: '/on-page-event/',
                    path: 'feedback-submission'
                });
                
                ET.FEEDBACK.mailerSettings.EMAIL_FROM = ET.FEEDBACK.$form.find('#fb_email').val();
                ET.FEEDBACK.mailerSettings.EMAIL_CONTENT1 = ET.FEEDBACK.$form.find('#fb_email').val();
                ET.FEEDBACK.mailerSettings.EMAIL_CONTENT2 = ET.FEEDBACK.$form.find('#fb_comments').val();;

                $.get(ET.getMailerUrl(ET.FEEDBACK.mailerSettings), function(data)
                {
                    if(data.indexOf('Success') > -1)
                    {
                        ET.FEEDBACK.$form.slideUp()
                                               .after('<div />')
                                               .next()
                                               .hide()
                                               .addClass('formNotification success')
                                               .html(ET.SETTINGS.LANG.feedbackSuccess);
                        setTimeout(function() { ET.FEEDBACK.$form.next().fadeIn('slow'); }, 750);
                        
                    }
                    else
                    {
                        ET.FEEDBACK.$form.before('<div />')
                                               .prev()
                                               .hide()
                                               .addClass('formNotification error')
                                               .html(ET.SETTINGS.LANG.feedbackFailure);
                        setTimeout(function() { ET.FEEDBACK.$form.prev().fadeIn('slow'); }, 750);
                    }
                });
                
                return false;
            }
        });
    }
};
ET.FEEDBACK.init();
