//<![CDATA[
$(function () {
    var name = $("#name"),
        email = $("#email"),
        email2 = $("#email2"),
        password = $("#password"),
        allFields = $([]).add(name).add(email).add(password),
        allFields2 = $([]).add(email2),
        tips = $(".validateTips");
    tips2 = $(".validateTips2");

    function updateTips(t) {
        tips.text(t).addClass('ui-state-highlight');
        setTimeout(function () {
            tips.removeClass('ui-state-highlight', 1500);
        }, 500);
    }

    function updateTips2(t) {
        tips2.text(t).addClass('ui-state-highlight');
        setTimeout(function () {
            tips.removeClass('ui-state-highlight', 1500);
        }, 500);
    }

    function checkLength(o, n, min, max) {

        if (o.val().length > max || o.val().length < min) {
            o.addClass('ui-state-error');
            updateTips("La lunghezza del campo " + n + " deve essere compreso fra " + min + " e " + max + ".");
            return false;
        } else {
            return true;
        }

    }

    function checkLength2(o, n, min, max) {

        if (o.val().length > max || o.val().length < min) {
            o.addClass('ui-state-error');
            updateTips2("La lunghezza del campo " + n + " deve essere compreso fra " + min + " e " + max + ".");
            return false;
        } else {
            return true;
        }

    }

    function checkRegexp(o, regexp, n) {

        if (!(regexp.test(o.val()))) {
            o.addClass('ui-state-error');
            updateTips(n);
            return false;
        } else {
            return true;
        }

    }

    function checkRegexp2(o, regexp, n) {

        if (!(regexp.test(o.val()))) {
            o.addClass('ui-state-error');
            updateTips2(n);
            return false;
        } else {
            return true;
        }

    }

    $("#dialog-form").dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true,
        buttons: {
            'Iscriviti': function () {
                var bValid = true;
                allFields.removeClass('ui-state-error');

                bValid = bValid && checkLength(name, "nome e cognome", 3, 16);
                bValid = bValid && checkLength(email, "email", 6, 80);
                bValid = bValid && checkRegexp(name, /^[a-z]([0-9a-z_ ])+$/i, "Hai inserito caratteri non validi nel Nome.");
                bValid = bValid && checkRegexp(email, /^((([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, "eg. mario.rossi@email.it");

                if (bValid) {
                    //window.location.href = '/isc_newsletter.aspx?email='+email.val()+'&nome='+name.val();
                    $('#form-newsletter').hide();
                    $('.ui-dialog-buttonpane').hide();
                    $('#loading').show();

                    params = 'email=' + email.val() + '&nome=' + name.val();

                    $.ajax({
                        url: "/ajax/isc_newsletter.aspx",
                        data: params,
                        cache: false,
                        success: function (html) {
                            $('#loading').hide();
                            $('#result-msg').append(html);
                            $('#result').show();
                        },
                        error: function () {
                            $('#loading').hide();
                            $('#result-msg').append(html);
                            $('#result').show();
                        }
                    });
                }
            },
            Cancel: function () {
                $(this).dialog('close');
            }
        },
        close: function () {
            $('#result').hide();
            $("#name").val("");
            $("#email").val("");
            $('.ui-dialog-buttonpane').show();
            $('#form-newsletter').show();
        }
    });


});

function IscrizioneNewsletter() {
    $('#dialog-form').dialog('open');
}

function ResetDialog() {
    $('#dialog-form').dialog('close');
}
//]]>
