function initiateChat(){var userID=document.getElementById("userID").value;var handler=setInterval(function(){fetchNewMessages(userID);},1000);}function fetchNewMessages(userID){dhtmlxAjax.get("http://localhost:8080/axis2/services/ChatWS/fetchFromDB","userID="+userID,processFetch);}function processFetch(xmlFetchDoc){document.write(xmlFetchDoc.responseText);var resultNode=xmlFetchDoc.doXPath("//ns:fetchFromDBResponse/ns:return",null,"http://ws.apache.org/axis2");var senderID,message;for(var i=0;i<resultNode.length;i++){message=getNodeValue(resultNode[i].firstChild);senderID=getNodeValue(resultNode[i].firstChild.nextSibling);updateWindow(senderID,message);}}function sendMessage(senderID){var chatMessages;chatMessages=document.getElementById("messages_"+senderID);var newMessage=document.createElement("div");var message=document.getElementById("typedMessage_"+senderID).value;newMessage.innerHTML="<b>me</b>: "+document.getElementById("typedMessage_"+senderID).value;chatMessages.appendChild(newMessage);var userID=document.getElementById("userID").value;insertIntoDB(userID,senderID,message);}function updateWindow(senderID,message){if(dhxWins.isWindow("chat_"+senderID)){}else{var newChatWindowDiv=createChatWindowDiv(senderID);document.getElementById("chats").appendChild(newChatWindowDiv);var window=dhxWins.createWindow("chat_"+senderID,26,22,320,200);window.setText(senderID);window.attachObject("template_"+senderID,true);window.denyResize();window.center();}if(message!=""){var chatMessages=document.getElementById("messages_"+senderID);var newMessage=document.createElement("div");newMessage.innerHTML="<b>"+titleCaps(senderID)+"</b>: "+message;chatMessages.appendChild(newMessage);scrollToBottom(senderID);}}function scrollToBottom(senderID){var messageDiv=document.getElementById("messages_"+senderID);messageDiv.scrollTop=messageDiv.scrollHeight;document.getElementById("typedMessage_"+senderID).focus();}function createChatWindowDiv(senderID){var chatWindowDiv=document.createElement("div");chatWindowDiv.id="template_"+senderID;chatWindowDiv.setAttribute("style","width: 250px; height:300px; font-family:arial,sans-serif; font-size: 12px; border: 1px solid black; padding:3px 3px 3px 3px; display: none;");chatWindowDiv.style.width="250px";chatWindowDiv.style.height="300px";chatWindowDiv.style.fontFamily="arial,sans-serif";chatWindowDiv.style.fontSize="12px";chatWindowDiv.style.border="1px solid black";chatWindowDiv.style.padding="3px 3px 3px 3px";chatWindowDiv.style.display="none";chatWindowDiv.innerHTML="<div id='messages_"+senderID+"' style='width:100%; height: 70%;  overflow: scroll; overflow-x: hidden; overflow-y: scroll; white-space:normal; word-wrap: break-word;'></div><div style='clear:both;'></div><div><textarea id='typedMessage_"+senderID+"' rows='3' cols='20' style='width:100%; height:20%; resize:none;'></textarea></div><div style='clear:both;'></div><div style='text-align:right'><input id='sendButton_"+senderID+"' type='button' value='send' style='height:10%;' onclick='sendMessage(\""+senderID+"\");'/></div>";return chatWindowDiv;}function insertIntoDB(senderID,receiverID,message){document.getElementById("typedMessage_"+receiverID).value="";scrollToBottom(receiverID);dhtmlxAjax.post("http://localhost:8080/axis2/services/ChatWS/insertIntoDB","sender="+senderID+"&receiver="+receiverID+"&message="+message,processInsert);}function processInsert(xmlInsertDoc){var resultNode=xmlInsertDoc.doXPath("//ns:insertIntoDBResponse/ns:return",null,"http://ws.apache.org/axis2");var result=getNodeValue(resultNode[0]);if(parseInt(result)!=1){alert("Error while sending message!");}}function getNodeValue(obj){return(obj.innerText)?obj.innerText:(obj.textContent)?obj.textContent:(obj.text)?obj.text:(obj.innerHTML)?obj.innerHTML:(obj.nodeValue)?obj.nodeValue:"";}
