﻿function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection();
    }
    else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}

$(function () {
    var errorDialog =
    '<div id="error-report" title="Отправить сообщение об ошибке">' +
        '<textarea id="error-message" rows="5" cols="49"></textarea>' +
    '</div><div id="result-dialog" title="Статус отправки"></div>';

    $('body').append(errorDialog);

    $('#result-dialog').dialog({
        autoOpen: false,
        width: 300,
        height: 100
    });
    $('#error-report').dialog({
        autoOpen: false,
        width: 400,
        buttons: {
            "Отправить": function () {
                $.ajax({
                    url: '/ErrorsReporting.asmx/ReportError',
                    data: { error: $('#error-report textarea').val(), location: window.location.href },
                    type: 'POST',
                    success: function (data) {
                        
                        $('#result-dialog').text('Отчет успешно отправлен. Благодарим за помощь. ');
                        $('#result-dialog').dialog('open');
                        setTimeout(function () {
                            $('#result-dialog').dialog("close");
                        }, 2000);
                    },
                    error: function (err) {
                        $('#result-dialog').text('Произошла ошибка. Отчет не отправлен.');
                        $('#result-dialog').dialog('open');
                        setTimeout(function () {
                            $('#result-dialog').dialog("close");
                        }, 2000);
                    }
                });
                $(this).dialog("close");
            },
            "Закрыть": function () {
                $(this).dialog("close");
            }
        }
    });

    $(document).keydown(function (e) {
        if (e.ctrlKey && e.keyCode == 13) {
            var selectedText = getSelectedText();
            if (selectedText && selectedText != '') {
                $('#error-report textarea').val(selectedText);
                $('#error-report').dialog('open');
            }
        }
    });
});
