function plainChatKeyPressed(field,event,roomName){
if(event.keyCode==13){
sendPlainChatRoomMessage(roomName);
}
}
function sendPlainChatRoomMessage(roomName){
var message = $("#plainChatInput-"+roomName).val();
message = trimstr(message);
if(message!=""){
$("#plainChatInput-"+roomName).val("");
PlainChatBean.sendPlainChatRoomMessage(roomName, message, {
errorHandler:function(errorString, exception){
showSignUpPanel(true,"");
}
});
}
//$("plainChatInputPanel").value = "";
}
function chatRoomMessageCallback(chatMessageDTO){
var userInfo = userData[chatMessageDTO.fromUserId];
if(userInfo==null){
alert("no user details found for "+chatMessageDTO.fromUserId);
}else{
var d = $("#plainChatScrollPanel-"+chatMessageDTO.roomName);
if(d){
d.innerHTML += ""+userInfo.username() +":"+chatMessageDTO.message + " ";
}else{
//ignore
//alert("message recieved for a chat room that has just shut"); /* We probably just closeded this room */ }
}
}
}
function trimstr(str){
var tmp = "";
var count = 0;
var newArray = str.split(" ");
for (var i=0;i
"+userInfo.username()+"
";
userdiv.id = "userListElement-"+roomName+"-"+userInfo.id();
userdiv.className = "userListItem";
$("#plainChatUsersScrollPanel-"+roomName).appendChild(userdiv);
}
function userLeftRoomCallback(roomAndUserId){
//alert("User left "+roomAndUserId[0]+" "+roomAndUserId[1]);
var v = $("#chatRoom="+roomAndUserId[0]);
if(v!=null){
}
var d = $("#userListElement-"+roomAndUserId[0]+"-"+roomAndUserId[1]);
d.parentNode.removeChild(d);
}
function chatRoomUsersCallback(u){
if($("#"+u[0]+"-users")==null){
//d = document.createElement('DIV');
//$("roomsList").appendChild(d);
$("#roomsList").innerHTML += ""+u[0]+"? users ";
}
$(u[0]+"-users").innerHTML = u[2]+"";
}
function UsrDataDTO() {
this.usrDTO;
this.profileData;
this.onlineGames;
this.pictures;
this.newResources;
this.expressions;
this.classification;
this.notRegisteredYet;
return this;
}
var mustSignInToAccessChatRooms = false; //do we allow guests
function joinPlainChatRoom(roomName){
if(mustSignInToAccessChatRooms && isLoggedIn==false) {
todoAfterLogin = roomName;
showSignUpPanel(true, "");
//$("plainChatContainer").style.display = "none";
//$("plainChatLoginScreen").style.display = "block";
return;
}else{
//$("plainChatContainer").style.display = "inline";
//$("plainChatLoginScreen").style.display = "none";
openChatRoomWindow(roomName);
PlainChatBean.joinPlainChatRoom(roomName,{
callbackHandler:function(plainChatRoomStateDTO){
$("#plainChatUsersScrollPanel-"+roomName).html("");
$("#plainChatScrollPanel-"+roomName).html(" "+plainChatRoomStateDTO.roomName+" ");
//alert("plainChatRoomState "+plainChatRoomStateDTO.users);
var u=0;
for(u; u < plainChatRoomStateDTO.users.length;u++){
//alert("in loop "+u);
userJoinedRoomCallback(roomName,plainChatRoomStateDTO.users[u]);
}
/*
if(userData[targetUsrId]==null){
//We don't have the details of the user
TurboMingleBean.getUser(targetUsrId, {callback:function(usrDataDTO){
var userInfo = new UserInfo(usrDataDTO);
if(userInfo.messengerWindow==null){ soundManager.play('beep'); };
userData[userInfo.id()] = userInfo;
showMessageBarItem(userInfo); //Open a panel on the bar for this user
showMessageBarItemFetch(userInfo.id(),null,true);
}
});
}
*/
},
errorHandler:function(errorString, exception){
if(exception.javaClassName=="com.joyplay.shared.exceptions.UserNotLoggedInException"){
showSignUpPanel(true,"");
}else{
//alert("joinPlainChatRoom errorHandler "+errorString+" "+exception);
}
}
});
}
}
var plainChatRooms = new Array();
function closeAllPlainChatRooms(){
for(i in plainChatRooms){
if(plainChatRooms[i]!=null && plainChatRooms[i].roomName!=null){
closePlainChatRoom(plainChatRooms[i].roomName);
}
}
}
function closeAllChatRoomsExcept(roomName){
//Only allow one room open at a time
for(i in plainChatRooms){
if(plainChatRooms[i]!=null && plainChatRooms[i].roomName!=null){
if(plainChatRooms[i].roomName!=roomName){
closePlainChatRoom(plainChatRooms[i].roomName);
}
}
}
}
function reopenAllChatRooms(){
for(i in plainChatRooms){
if(plainChatRooms[i]!=null && plainChatRooms[i].roomName!=null){
var roomName = plainChatRooms[i].roomName;
PlainChatBean.leaveRoom(roomName,{
callbackHandler:function(){
var v = plainChatRooms[roomName];
//$("#frame").removeChild(v);
v.parentNode.removeChild(v);
plainChatRooms[roomName] = null;
joinPlainChatRoom(roomName);
}
});
}
}
}
function openChatRoomWindow(roomName){
if(plainChatRooms[roomName]!=null){
return;
}
closeAllChatRoomsExcept(roomName);
var newdiv = document.createElement('DIV');
newdiv.id = "chatRoom-"+roomName;
newdiv.className = "chatRoomPanel";
if(newWindowStartPositionX > 250) { newWindowStartPositionX = 20; }
if(newWindowStartPositionY > 250) { newWindowStartPositionY = 20; }
newdiv.style.left = newWindowStartPositionX.toString()+"px";
newdiv.style.top = newWindowStartPositionY.toString()+"px";
newWindowStartPositionX+=5;
newWindowStartPositionY+=5;
var descriptionDiv = document.createElement('DIV');
descriptionDiv.className = "plainChatDescription";
descriptionDiv.innerHTML = ""+roomName+"";
Drag.init(descriptionDiv, newdiv);
newdiv.appendChild(descriptionDiv);
var closeMinimiseDiv = document.createElement('DIV');
closeMinimiseDiv.className = "chatRoomCloseMinimiseDiv";
closeMinimiseDiv.innerHTML = "";
newdiv.appendChild(closeMinimiseDiv);
var usersDiv = document.createElement('DIV');
usersDiv.id = "plainChatUsersScrollPanel-"+roomName;
usersDiv.innerHTML = "users";
newdiv.appendChild(usersDiv);
usersDiv.className = "plainChatUsersScrollPanel";
var incomingMessagesDiv = document.createElement('DIV');
incomingMessagesDiv.id = "plainChatScrollPanel-"+roomName;
incomingMessagesDiv.className = "plainChatScrollPanel";
//incomingMessagesDiv.className = "incomingMessages";
//var msgList = userData[userId].incomingMessageList;
var x=0;
//for(x; x";
//}
newdiv.appendChild(incomingMessagesDiv);
var inputDiv = document.createElement('DIV');
inputDiv.className = "chatRoomInputMessage";
//var n = "chatRoomInputMessage"+roomName;
//var nn = 'limitChatRoomText(this,null,120,event,"'+roomName+'");';
inputDiv.innerHTML = '';
inputDiv.innerHTML += '';
newdiv.appendChild(inputDiv);
// var sendDiv = document.createElement('DIV');
// sendDiv.className = "chatRoomSendMessage";
// sendDiv.innerHTML = "send";
// sendDiv.id = "sendMessage";
// sendDiv.onmousedown = function(){sendPlainChatRoomMessage(roomName)};
// inputDiv.appendChild(sendDiv);
$("#frame").prepend(newdiv);
newdiv.roomName = roomName;
plainChatRooms[roomName] = newdiv;
//userData[userId].incomingMessagesDiv = incomingMessagesDiv;
//userData[userId].messengerWindow = newdiv;
}
function closePlainChatRoom(roomName){
PlainChatBean.leaveRoom(roomName,{
callbackHandler:function(){
var v = plainChatRooms[roomName];
//$("#frame").removeChild(v);
v.parentNode.removeChild(v);
plainChatRooms[roomName] = null;
}
});
}
function limitChatRoomText(){
}
function getPlainChatState(){
PlainChatBean.getPlainChatState({
callbackHandler:function(plainChatStateDTO){
for (var i=0;i";
}
}
});
}
getPlainChatState();