

$(document).ready(function() {
    $(document).keydown(function(obj_event) {
        keyboard_action(obj_event);
    });
});

function send_message_click() {
    update_popup_pos();
    $('#send_message_popup').show();
}

function send_popup_close_click() {
    $('#send_message_popup').hide();
}

function send_again_click() {
    $('#send_message_popup').show();
    $('#sent_message_popup').hide();
}

function sent_popup_close_click() {
    $('#sent_message_popup').hide();
}

function ajax_start() {
    var $frm = $('#send_message_frm');
    $('input, textarea', $frm).attr('disabled', 'disabled');
    $('#send_message_popup div.header').html('Отправка сообщения...');
    $frm.css({'cursor': 'wait'});
};

function ajax_finish() {
    var $frm = $('#send_message_frm');
    $('input, textarea', $frm).attr('disabled', '');
    $('#send_message_popup div.header').html('Отправить сообщение');
    $frm.css({'cursor': 'default'});
};

function send_frm_reset() {
    $('#send_message_frm input[type=text], #send_message_frm textarea').val('');
};

function send_frm_submit(frm) {
    if ( !check_send_frm(frm) ) {
        return false;
    }

    var frm_data = $(frm).serialize();
    // Отсылаем запрос
    $.ajaxSetup({
        dataType: 'json',
        error: send_message_error
    });

    pageTracker._trackPageview('/send-msg.php');
    ajax_start();
    $.post(
        '/send-msg.php',
        frm_data,
        function (json) {
            if ( '' != json['error'] ) {
                alert(json['error']);
            }
            else {
                $('#send_message_popup').hide();
                $('#sent_message_popup').show();
            }
            ajax_finish();
            send_frm_reset();
        }
    );
    return false;
}

function send_message_error() {
    alert('Ошибка отправки сообщения');
    ajax_finish();
}

function check_send_frm(frm) {
    if ( frm['message'].value.match(/^\s*$/) ) {
        alert('Необходимо ввести сообщение');
        frm['message'].focus();
        return false;
    }
    if ( frm['phone'].value.match(/^\s*$/) && frm['email'].value.match(/^\s*$/) ) {
        alert('Необходимо ввести телефон или e-mail');
        frm['phone'].focus();
        return false;
    }
    if ( frm['email'].value.match(/[^\s]/) && !frm['email'].value.match(/^[a-z0-9_\-\.]+@([a-z0-9_\-]+\.)+[a-z]{2,5}$/i) ) {
        alert('Недопустимый формат e-mail');
        frm['email'].focus();
        frm['email'].select();
        return false;
    }

    return true;
}

function update_popup_pos() {
    var $send_message_popup = $('#send_message_popup');
    var $sent_message_popup = $('#sent_message_popup');
    var client_height = $(window).height();
    var popup_height  = $send_message_popup.height();
    var top_offset = client_height/2 - popup_height/2;
    if ( top_offset < 0 ) {
        top_offset = 0;
    }
    $send_message_popup.css({top: top_offset});
    $sent_message_popup.css({top: top_offset});
}

function keyboard_action(obj_event) {
    if ( obj_event == null ) {
        keycode = event.keyCode;
    } else {
        keycode = obj_event.keyCode;
    }
    if ( 27 == keycode ) {
        $('#send_message_popup, #sent_message_popup').hide();
    }
}