var callback; $(document).ready(function() { var send = false; var user_call = false; var out_message = ''; var timer; var last_message_id = 0; var is_inited = false; function scroll_chat_window() { var objDiv = document.getElementById("ht_chat_window"); objDiv.scrollTop = objDiv.scrollHeight; } function helpytalk_loop() { var is_open = $('#helpytalk').dialog("isOpen"); if (send) { out_message += " " + $('#helpytalk textarea:[name=message]').val(); data = { c: 'base', a: 'send', request: { name: $('#helpytalk input:[name=name]').val(), email: $('#helpytalk input:[name=email]').val(), message: out_message, } } send = false; $('#helpytalk textarea:[name=message]').val(''); out_message = ''; } else { data = { c: 'base', a: 'ping', request: { } } } data.request['last_message_id'] = last_message_id; data.request['is_open'] = is_open; data.request['user_call'] = user_call; $.ajax({ url: '/diachat/server.php', type: 'POST', data: data, dataType: 'json', success: function (raw_response) { if (parseInt(raw_response.response.call)) { $('#helpytalk').dialog("open"); user_call = false; } if (raw_response.response.last_message_id) { last_message_id = raw_response.response.last_message_id; } if (raw_response.response.messages.length) { for (i in raw_response.response.messages) { message = raw_response.response.messages[i]; if (message.manager_name) { owner_class = 'manager'; owner_name = message.manager_name; } else { owner_class = 'visitor'; owner_name = message.visitor_name; } $("#ht_chat_window").append('
'+owner_name+':
'); } scroll_chat_window(); } var last_response = parseInt(raw_response.response.last_response); if (last_response && (last_response < 4)) { console.log(last_response); user_call = false; } } }); timer = setTimeout(callback, 5000); } callback = helpytalk_loop; $('head').append( $('').attr('href', '/diachat/css/client.css') ); $("#helpytalk").dialog({ autoOpen: false, width: '30em', resizable: false, modal: true, open: function (ev, ui) { user_call = true; } }); $("#helpytalk").html('Здравствуйте! Интересует оптовая или розничная продажа? У нас предусмотрена гибкая система скидок! | Марина![]() |
Для начала диалога, пожалуйста, введите ваше сообщение, затем нажмите Enter
'); $("#helpytalk textarea:[name=message]").bind("keyup", function (e) { var code = (e.keyCode ? e.keyCode : e.which); if (code == 13) { send = true; user_call = true; out_message += $('#helpytalk textarea:[name=message]').val(); // $('#helpytalk textarea:[name=message]').attr('disabled', true); visitor_name = $('#helpytalk input:[name=name]').val() ? $('#helpytalk input:[name=name]').val() : 'Посетитель'; $('#ht_chat_window').append(''+visitor_name+':
'); $('#helpytalk textarea:[name=message]').val(''); scroll_chat_window(); } }); helpytalk_loop(); });