
$(function() {
    var nameFrom =  $("#nameFrom"),
        emailFrom = $("#emailFrom"),
        nameTo =    $("#nameTo"),
        emailTo =   $("#emailTo"),
        message =   $("#message"),
        allFields = $([]).add(message).add(emailFrom).add(nameFrom).add(emailTo).add(nameTo),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
            .text(t)
            .addClass('ui-state-highlight');

            setTimeout(function() {
            tips.removeClass('ui-state-highlight', 700);
        }, 500);
    }

    function checkLength(o,n) {

        if ( o.val().length == 0 ) {
            o.addClass('ui-state-error');
            updateTips("Поле \"" + n + "\" обязательно для заполнения.");
            return false;
        } else {
            return true;
        }

    }

    function checkEmail(o) {
        regexp = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;

        if ( !( regexp.test( o.val() ) ) ) {
            o.addClass('ui-state-error');
            updateTips(o.val() + " - некорректный адрес e-mail");
            return false;
        } else {
            return true;
        }

    }

    $("#dialog-message").dialog({autoOpen: false, modal: true});

    $("#dialog-form").dialog({
        autoOpen: false,
        height: 'auto',
        width: 350,
        modal: true,
        buttons: {
            'Намектуть': function() {
                var bValid = true;

                allFields.removeClass('ui-state-error');

                bValid = bValid && checkLength(nameTo,"Имя человека");
                bValid = bValid && checkLength(emailTo,"E-mail");
                bValid = bValid && checkEmail(emailTo);
                bValid = bValid && checkLength(nameFrom,"Ваше имя");
                bValid = bValid && checkLength(emailFrom,"Ваш e-mail");
                bValid = bValid && checkEmail(emailFrom);

                if (bValid) {
                    $.post(
                        '/index.php?ajax=1&mode=gift',
                        {
                            'name_from'  : nameFrom.val(),
                            'name_to'     : nameTo.val(),
                            'email_from' : emailFrom.val(),
                            'email_to'   : emailTo.val(),
                            'message'    : message.val(),
                            'offer_id'   : offer_Id
                        },
                        function (data) {
                            if(data) {
//                                 $("#dialog-form").dialog('close');
                                $("#dialog-form").dialog('destroy');
                                $('#dialog-message').dialog('open');
                                setTimeout(function() {$("#dialog-message").dialog('destroy');}, 1000 * 2);
                            }
                        },
                        'json'
                    );
                }
            },
            'Закрыть': function() {
                $(this).dialog('destroy');
            }
        },
        close: function() {
//             allFields.val('').removeClass('ui-state-error');
            $(this).dialog('destroy');
        }
    });
});

var offer_Id;

// Меняет заголовок онка и показывает его
function showGiftDialog(offerId){
    offer_Id = offerId;
    $('#dialog-form').dialog('open');
    return false;
};
