﻿"use strict";

var contact = {

    close: function () {
        if (contact.vars.inline) {
            $('.contactform .content .inner').css({ fontSize: '1.2em', textAlign: 'center', padding: '3em 0' }).html('Your message has been sent.<br/><br/><b>Thank you!</b>');
        }
        else {
            $('.contactform .content').stop(true, false).animate({ marginTop: -50, opacity: 0 });
            $('.contactform').stop(true, false).animate({ opacity: 0 }, function () { $(this).hide(); });
        }
    },

    init: function () {
        contact.uid = window.proj['uid'];
        if (contact.vars.inline) {
            $('.contactform').show();
            $('.contact-btn').hide();
        }
        else {
            base.subscribe('resize', contact.resize);
            base.subscribe('keydown', contact.keydown);
        }
        $('.contactform input, .contactform textarea').blur(function () { $(this).css({ boxShadow: '' }); })
    },

    keydown: function (k) {
        if (k == 27) { contact.close(); }
    },

    open: function () {
        base.mediaStop();
        var n = $('.contactform input[name=sName]');
        var e = $('.contactform input[name=sEmail]');
        if ((n.val() == '') && (localStorage['ContactFormName'])) { n.val(localStorage['ContactFormName']); }
        if ((e.val() == '') && (localStorage['ContactFormEmail'])) { e.val(localStorage['ContactFormEmail']); }
        $('.contactform textarea[name=sMessage]').val('');
        $('.contactform button').prop('disabled', false);
        $('.contactform .content').stop(true, false).css({ marginTop: -50, opacity: 0 }).animate({ marginTop: 0, opacity: 1 });
        $('.contactform').stop(true, false).css({ display: 'flex', opacity: 0 }).animate({ opacity: 1 });
        contact.uid = window.proj[$(this).hasClass('colist') ? 'uid2' : 'uid'];
        contact.resize();
    },

    resize: function () {
        var ta = $('.contactform textarea');
        ta.height(Math.floor(ta.height() - ($('.contactform .inner').height() - $('.contactform .outer').height())));
    },

    send: function (t) {
        t = t || $('.contactform .inner');
        var n = $('input[name=sName]', t);
        var e = $('input[name=sEmail]', t);
        var p = $('input[name=sPhone]', t);
        var m = $('textarea[name=sMessage]', t);
        if (n.val() == '') { n.css({ boxShadow: '0 0 0 3px #e00' }).focus(); return false; }
		if (!base.isValidEmail(e.val())) { e.css({ boxShadow: '0 0 0 3px #e00' }).focus(); return false; }
		//if (p.val() == '') { p.css({ boxShadow: '0 0 0 3px #e00' }).focus(); return false; }  (only if we want Phone Number required in contact form)
        if (m.val() == '') { m.css({ boxShadow: '0 0 0 3px #e00' }).focus(); return false; }
        localStorage['ContactFormName'] = n.val();
		localStorage['ContactFormEmail'] = e.val();
		localStorage['ContactFormPhone'] = p.val();
        $('button', t).first().prop('disabled', true);
        t.css({ opacity: 0.3 });
		var u = '/view/ajax/contact.asp?s=' + window.proj.id + '&u=' + contact.uid + '&n=' + escape(n.val()) + '&e=' + escape(e.val()) + '&p=' + escape(p.val()) + '&m=' + escape(m.val());
        console.log(u);
        $.ajax({
            url: u,
            complete: function () {
                if (t.css({ opacity: 1 }).closest('.dialog').length) {
                    contact.close();
                }
                else {
                    $(t).html('<div style="font-size: 2em; text-align: center; padding: 1em;">Message Sent. Thank you.</div>');
                }
            }
        });
    },

    uid: null,

    vars: {}
};

$(contact.init);
 