//initializing some variables
var last_message = 0;
var chat_message_to = 0;
var send_message = '';
var busy_communication = false;
var z_index = 1;
var chat_hide = 0;
var chat_tab_active = 'public';
function chat_start(start){
if(start == 2){
var chat_height = "25px";
chat_hide = 1;
}else{
var chat_height = "171px";
}
if(chat_hide == 1)
var chat_toggle="expand";
else
var chat_toggle="collapse";
//start the ajax calls
window.onload = get_users();
//window.onload = send_recieve_messages();
setInterval("get_users()", 10000);
setInterval("send_recieve_messages()", 3000);
window.onbeforeunload = function () {
get_users(0);
}
$("body").append('
'
+''
+'
'
+'
'
+'
'
+'
'
+'
'
+''
+'
'
+'
'
+'
'
+'
'
+'
');
}
function get_users(status) {//get a list of online users and send current user's status
status = typeof (status) != 'undefined' ? status : 1; //1 = active, 0 = disconnected
$.ajax({
url: '/wp-content/plugins/amw-chat/connect.php',
type: "POST",
data: "status=" + status,
success: function (data) {
var UserArray = data.split("|");
$(".chat_users").html("");
for (i = 0; i < UserArray.length - 1; i++) {
//alert(UserArray[i]);
var UserData = UserArray[i].split(";");
if (UserData[3] == '1') var status_icon = "connected";
else var status_icon = "disconnected";
if(getCookie('chat_id') == UserData[0]) var chat_me = "chat_me";
else var chat_me = "";
$(".chat_users").append("");
if ($('#chat_tab_' + UserData[0]).length) {
$('#chat_tab_' + UserData[0]).find('#status').attr('class', status_icon);
}
}
}
});
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i= 0; i--) {
var Message_data = MessagesArray[i].split("'");
if(getCookie('chat_id') == Message_data[1]) var chat_me = "chat_from_me";
else var chat_me = "message_from";
if (Message_data[0] == '0') {
$("#chat_window_public").append("
" + Message_data[2] + "" + " [" + Message_data[3] + "] " + Message_data[4] + " ");
$("#chat_window_public").scrollTop($("#chat_window_public").prop("scrollHeight"));
$('#chat_tab_public').effect("highlight", {}, 3000, chat_callback);
} else {
if ($('#private_' + Message_data[1]).length) {
$('#chat_tab_' + Message_data[1]).effect("highlight", {}, 3000, chat_callback);
} else {
$(".chat_body").before('');
$(".chat_header").append('');
z_index++;
chat_tab_select(Message_data[1]);
}
$("#chat_window_" + Message_data[1]).append("
" + Message_data[2] + "" + " [" + Message_data[3] + "] " + Message_data[4] + " ");
$("#chat_window_" + Message_data[1]).scrollTop($("#chat_window_" + Message_data[1]).prop("scrollHeight"));
}
}
last_message = MessagesArray[MessagesArray.length - 1];
}
}
});
}
function message_user(user) {//create personal chat window when user is clicked or switches to tab if already opened
var user_id = user.getAttribute("id");
var user_name = user.innerHTML;
if ($('#private_' + user_id).length) {
$('#private_' + user_id).css("z-index", z_index);
} else {
$(".chat_body").before('');
$(".chat_header").append('' + user_name + '
');
z_index++;
chat_tab_select(user_id);
}
}
function chat_tab(user_id) {
if (user_id != 0) $('#private_' + user_id).css("z-index", z_index);
else {
$('.chat_body').css("z-index", z_index);
user_id = "public";
}
$('#chat_tab_' + user_id).css("text-decoration", "none");
z_index++;
if (chat_hide == 1) chat_toggle();
chat_tab_select(user_id);
}
function chat_tab_delete(user_id) {
//chat_tab_select('public');
if (user_id != 0) {
$('#private_' + user_id).remove();
$('#chat_tab_' + user_id).remove();
}
}
function chat_tab_select(tab_id) {
$('#chat_tab_' + chat_tab_active).removeClass('chat_tab_active');
$('#chat_tab_' + tab_id).addClass('chat_tab_active');
chat_tab_active = tab_id;
}
function set_message(user_id) {
if (user_id == 0) user_id = 'public';
if ($('#send_message_' + user_id).val()) {
chat_message_to = user_id;
if ($('#send_message' + user_id).val() != '') {
send_message = $('#send_message_' + user_id).val();
$('#chat_submit_' + user_id).val('...');
$('.chat_submit_botton').attr("disabled", true);
$('.send_message').attr("disabled", true);
}
//alert(send_message);
}
return false;
}
function chat_end() {
if ($(".chat_box").is(":hidden")) {
$(".chat_box").show("slow");
} else {
setCookie("chat_start", 3, 1);
$(".chat_box").slideUp();
}
return false;
}
function chat_toggle() {
if (chat_hide == 0) {
setCookie("chat_start", 2, 1);
$(".chat_box").animate({
height: '25px'
}, 500, function () {
// Animation complete.
});
chat_hide = 1;
$("#chat_toggle").html('
');
} else {
setCookie("chat_start", 1, 1);
$(".chat_box").animate({
height: '151px'
}, 500, function () {
// Animation complete.
});
chat_hide = 0;
$("#chat_toggle").html('
');
}
return false;
}
$(document).ready(function() {
var start_chat = getCookie("chat_start");
if(start_chat != 3){
chat_start(start_chat);
}
});