//var serverUrl = "http://localhost:8080/ChatMessenger/";
var serverUrl = "http://www.vivatext.com/ChatMessenger/";
//var serverUrl = "http://www.globaltelmedia.com:8080/ChatMessenger/";

	
function chatInline(siteid){
	//alert("siteid: "+siteid);
	var divChat = document.getElementById("chat");
	
	//var	chatHtml = '<table width="100%" border="1" cellpadding="0" cellspacing="0" style="border:1px solid #BFBFBF"><tr><td>';
	//	chatHtml += '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="padding:5px;	padding-left:10px;	font-family:Verdana, Arial, Helvetica, sans-serif;	font-size:10px;	font-weight:bold;	text-decoration:none;	color:#000000;	border-bottom:1px solid #B0CEF0;">';
	//	chatHtml += '<tr><td><b>Chat</b></td><td align="right"><a href="#" onclick="hideChat()" title="Hide">Hide</a></td></tr>'; 
	//	chatHtml += '</table>'; 
	var	chatHtml = '<input type="hidden" name="siteid" value="'+siteid+'" id="siteid">';
		chatHtml += '<input type="hidden" name="userId" id="userId">';
		chatHtml += '<table width="100%" border="0" cellpadding="3" cellspacing="0" align="center" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #FFFFFF;padding:5px;">';
		chatHtml += '<tr><td align="left"><span id="msg" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;	font-weight:normal;	color: #C60000;">&nbsp;</span></td></tr>';
		chatHtml += '<tr><td>Enter List of numbers below:  </td></tr>';
		chatHtml += '<tr><td> <textarea id="chatnum1" name="chatnum1"></textarea><span><font style="verdana" color="red" size="2">*</font></span></td></tr>'; 
		chatHtml += '<tr><td>(8583537563,8586996163) 10-digit comma seperated </td></tr>';
		chatHtml += '<tr><td>From:</td></tr>';
		chatHtml += '<tr><td><input name="from" type="text" class="style4" id="from" value="" size="22" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;"/><span><font style="verdana" color="red" size="2">*</font></span></td></tr>';
		chatHtml += '<tr><td>Message:</td></tr>';
		chatHtml += '<tr><td nowrap><textarea name="message" cols="21" rows="4" wrap="VIRTUAL" class="style4" id="message" onChange="return getCharCount(this);" onMouseMove="return getCharCount(this);" onKeyUp="return getCharCount(this);" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;"></textarea ><span valign="middle"><font style="verdana" color="red" size="2">*</font></span></td></tr>'; 
		chatHtml += '<tr><td><div  id="charLimit" ><span id="charLimit" class="style5">Character Count:100</span></div></td></tr>';
		chatHtml += '<tr><td align="left"><input type="button" value="Start Chat" onclick="openChat();" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;">&nbsp;&nbsp;<input type="button" value="Cancel" onclick="displayLoginInline();" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;"></td></tr>'; 
		chatHtml += '</table>'; 
	//	chatHtml += '</td></tr></table>'; 
		
	
	divChat.innerHTML = chatHtml;
}

function displayLoginInline(){
	var divChat = document.getElementById("chat");
	divChat.innerHTML = "";
	//var	chatHtml = '<table width="100%" border="1" cellpadding="0" cellspacing="0" style="border:1px solid #BFBFBF"><tr><td>';
	//	chatHtml += '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="padding:5px;	padding-left:10px;	font-family:Verdana, Arial, Helvetica, sans-serif;	font-size:10px;	font-weight:bold;	text-decoration:none;	color:#000000;	border-bottom:1px solid #B0CEF0;">';
	//	chatHtml += '<tr><td><b>Login</b></td><td align="right"><a href="#" onclick="hideLogin()" title="Hide">Hide</a></td></tr>'; 
	//	chatHtml += '</table>'; 
	var	chatHtml = '<table width="60%" border="0" cellpadding="3" cellspacing="0" align="center" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #FFFFFF;padding:5px;">';
		chatHtml += '<tr><td align="left" colspan="2"><span id="msg" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:10px;	font-weight:normal;	color: #C60000;">&nbsp;</span></td></tr>';
		chatHtml += '<tr><td nowrap>Username :</td><td nowrap><input id="uname" name="uname" type="text" style="family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;" size="18" /><span valign="middle"><font style="verdana" color="red" size="2">*</font></span></td></tr>';
		chatHtml += '<tr><td nowrap>Password :</td><td nowrap><input id="pwd" name="pwd" type="password" style="family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;" size="20" /><span valign="middle"><font style="verdana" color="red" size="2">*</font></span></td></tr>';
		chatHtml += '<tr><td align="left" colspan="2"><input type="button" value="Login" onclick="authenticate()" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;">&nbsp;&nbsp;<input type="button" value="Cancel" onclick="goHome();" style="font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;font-weight:normal;color: #000000;"></td></tr>'; 
		chatHtml += '</table>'; 
		chatHtml += '</td></tr></table>'; 
	divChat.innerHTML = chatHtml;
}

function goHome(){
	window.location.href = "index.html";
}

/* Javascript field validations */

	function jumpToNextTxtObj(txtObj,oEvent){
		var evt = (oEvent)?oEvent:window.event;
		if((evt.keyCode == 9) || (evt.keyCode == 16)) return;
		if(txtObj.value.length>= txtObj.maxLength){
			txtObj.nextSibling.focus();
		}
	}
	

	function isValidPhone(string){
		if (!isNaN(string)) {
			return true;
		}
		return false;
	}
	function sendMessage(){	       
			mNum    =document.getElementById("mnum").value;
			lastMessage =document.getElementById("mes").value;
			message =document.getElementById("txt_message").value;
			from    =document.getElementById("from").value;
			uId     =document.getElementById("userId").value;
			document.getElementById("txt_message").value="";
			sendChatText(mNum,message,from,uId,lastMessage);
			document.getElementById("txt_message").focus();

	}
	
	function updateHTML(resultsObj){		
		var message = resultsObj.ResultSet.message;
		var from = resultsObj.ResultSet.from;
		var mnum=resultsObj.ResultSet.mnum;
		var userId=resultsObj.ResultSet.userId;
		lastMessage = resultsObj.ResultSet.lmessage;
		
		if(lastMessage== 'null'){
			window.open(serverUrl+'jsp/demochat.html?mNum='+mnum+'&amp;from='+from+'&amp;userId='+userId+'&amp;lastMessage='+lastMessage+'&amp;message='+escape(message),'mywindow','width=720,height=455');
		}else{
		    	document.getElementById("div_chat").innerHTML = document.getElementById("div_chat").innerHTML + "<br>" +"<span class='me'>"+from+"</span>"+"&nbsp;:"+message;
			}
		 var chatDiv = document.getElementById("div_chat");
			if(chatDiv){
			chatDiv.scrollTop =chatDiv.scrollHeight;
		}
	}

	function winopen(mnum1,message,from){
		var msg = document.getElementById("msg");

		var message = document.getElementById('message').value;
		var from = document.getElementById('from').value;
		
			
		
		   if(document.getElementById("chatnum1").value=="")
			{
				msg.innerHTML = "Please enter valid Phone Numbers";
				document.getElementById("chatnum1").focus();
				return false;
			}
			else if(message == '') {
					msg.innerHTML = "Please enter text to start chat!";
					return;
				}
			else if(from == '') {
					msg.innerHTML = "Please enter your name or handle to indicate the sender of the message";
					return;
				}	
			if(document.getElementById("userId").value!=''){
				var uId=document.getElementById("userId").value;
				
			}else{
				var uId=document.getElementById("userId").value;
			}
			var mnum= mnum1;
		msg.innerHTML = " ";
		sendChatText(mnum,message,from,uId,'');
	}
	
	
	function updateUserInformation(resultsObj){
		var msg = document.getElementById("msg");
		var nodeVal = resultsObj.ResultSet.message;
           	if(nodeVal=='true'){
					var nodeVal = resultsObj.ResultSet.valid;
					uName = resultsObj.ResultSet.uname;
					displaychattext(uName);
			}else{
				msg.innerHTML = "Invalid username/password! Please try again.";
				var nodeVal = resultsObj.ResultSet.message;
			}
	}
	
	
	function displaychat(){
		document.getElementById("login").style.display="none";
		document.getElementById("sendChat").style.display="block";
		document.getElementById('message').value = '';
		
		document.getElementById('chatnum1').value = '';
		document.getElementById('chatnum2').value = '';
		document.getElementById('chatnum3').value = '';
		
	}
    function displaychattext(uname){
		chatInline();
		document.getElementById('from').value =uname;
		document.getElementById("userId").value = uname;
		//document.getElementById("log").style.visibility = 'hidden';
	}
	

	function getCharCount(obj){
		if(obj.value.length > 100){
			curText =obj.value.substring(0,100);
			obj.value = curText;
			document.getElementById("charLimit").innerHTML ="<span class='style5'>Character Count:"+ (100 - curText.length)+"</span>";	
			return false;
		}else{
			curText =obj.value;
		document.getElementById("charLimit").innerHTML ="<span class='style5'>Character Count:"+ (100 - curText.length)+"</span>";	
		}
	}

	function openChat(){
	winopen(document.getElementById("chatnum1").value,document.getElementById("message").value,document.getElementById("from").value);
}

function hideChat(){
	var divChat = document.getElementById("chat");
	var	chatHtml = '<table width="100%" border="1" cellpadding="0" cellspacing="0" style="border:1px solid #BFBFBF"><tr><td>';
	chatHtml += '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="padding:5px;	padding-left:10px;	font-family:Verdana, Arial, Helvetica, sans-serif;	font-size:10px;	font-weight:bold;	text-decoration:none;	color:#000000;	border-bottom:1px solid #B0CEF0;">';
	chatHtml += '<tr><td><b>Chat</b></td><td align="right"><a href="#" onclick="chat()" title="Dispaly">Dispaly</a></td></tr>'; 
	chatHtml += '</table>'; 
	chatHtml += '</td></tr></table>'; 
	divChat.innerHTML = chatHtml;
}

function hideLogin(){
	var divChat = document.getElementById("chat");
	var	chatHtml = '<table width="100%" border="1" cellpadding="0" cellspacing="0" style="border:1px solid #BFBFBF"><tr><td>';
	chatHtml += '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="padding:5px;	padding-left:10px;	font-family:Verdana, Arial, Helvetica, sans-serif;	font-size:10px;	font-weight:bold;	text-decoration:none;	color:#000000;	border-bottom:1px solid #B0CEF0;">';
	chatHtml += '<tr><td><b>Login</b></td><td align="right"><a href="#" onclick="displaylogin()" title="Dispaly">Dispaly</a></td></tr>'; 
	chatHtml += '</table>'; 
	chatHtml += '</td></tr></table>'; 
	divChat.innerHTML = chatHtml;
}

/* To send request to the server using JSON */	
function sendRequest(url)
{
	var headTag = document.getElementsByTagName("head").item(0);
	var scriptTag = document.createElement("script");
	scriptTag.src = url;
	headTag.appendChild( scriptTag );
}

function sendChatText(mnum,message,from,uId,lastMessage) {
 if(message == '') {
			alert("Please enter a message to be sent");
			return;
		}
else{
		
	var param = message+"&mnum="+mnum+'&from='+from+'&userId='+uId+'&lastMessage='+lastMessage;
	var url = serverUrl + 'chat.do?action=webBroadCast&message=' + param + "&output=json&callback=handleResults" ;
	sendRequest(url);
	}

}

/* To handle validated results from server */
function handleResults( resultsObj )
{
	var chat_div = document.getElementById('div_chat');
		updateHTML(resultsObj);
}


/* user authentication */
function authenticate() {
		var msg = document.getElementById("msg");

		if(document.getElementById('uname').value == '') {
			msg.innerHTML = "Username should not be empty";
			return;
		}
		if(document.getElementById('pwd').value == '') {
			msg.innerHTML = "Password should not be empty";
			return;
		}
		msg.innerHTML = " ";
		var param = document.getElementById('uname').value+"&pwd="+document.getElementById('pwd').value;
		var url = serverUrl+'chat.do?action=CheckUserExistence&uName=' + param + "&output=json&callback=loginResults";
		sendRequest(url);
	}

/* To handle login results from server */
function loginResults( resultsObj )
{
	var chat_div = document.getElementById('div_chat');
		updateUserInformation(resultsObj);
	
}

/* To display registration form */
function regform(){
		window.open(serverUrl+'jsp/register.html','mywindowreg','width=700,height=350');
}

function showPopUp(filename,winName,attributes,winWidth,winHeight) {
	attributes = attributes + ",width=" + winWidth + ",height=" + winHeight + ",left=" + (screen.width-winWidth)/2 + ",top=" + (screen.height-winHeight)/2;
	var childwin = window.open(filename,winName,attributes);
}


