// JavaScript Document
var mTimer;
var lastMessage = 0;
var sendReq = getXmlHttpRequestObject();
var xmlhttp = getXmlHttpRequestObject();
var openReq = getXmlHttpRequestObject();
var closeReq = getXmlHttpRequestObject();
var lolReq = getXmlHttpRequestObject();
var userstatreq = getXmlHttpRequestObject();
var userstatsreq = getXmlHttpRequestObject();
var ddmenuitem = 0;

//---------------------------------------------------------------

function startupchat(){
	var imagechanges = document.getElementById('imagechanges');
  imagechanges.innerHTML = '<a onClick="userstatusoff()"><img src="img/statusicon.gif" align="top" style="padding-right:20px"></a>';
  var submitsend = document.getElementById('sendbutton');
  submitsend.innerHTML = '<input type="image" align="top" src="img/sendbutton.gif" name="btn_send_chat" id="btn_send_chat" value="Send" onClick="sendChatText();" />';
if (lolReq.readyState == 4 || lolReq.readyState == 0) {
               lolReq.open("GET", 'w_wstat.php', true);
lolReq.onreadystatechange=lolFunction;
                            lolReq.send(null);
            } 
getChatText()
}
///------------------------------------------------------------
function startupscreen(){
	var statusShow = document.getElementById('statusShow');
	statusShow.innerHTML = '';
	var imagechanges = document.getElementById('imagechanges');
  imagechanges.innerHTML = '<a onClick="userstatuson()"><img src="img/statusiconoff.gif" align="top" style="padding-right:20px"></a>';
 var submitsend = document.getElementById('sendbutton');
  submitsend.innerHTML = '<img src="img/sendbutton.gif" align="top" border=0 name="btn_send_chat" id="btn_send_chat">';
stoper();
}


//-------------------------------------------------


function userstatuson() {
	if (userstatreq.readyState == 4 || userstatreq.readyState == 0) {
               userstatreq.open("GET", 'time.php?user=on', true);
              //userstatreq.onreadystatechange = ajaxFunction; 
               userstatreq.send(null);
            }  
	var games = document.getElementById('games');
	games.innerHTML += 'Alert :&nbsp; You are online.<br>' ;
	games.scrollTop = games.scrollHeight;
	var imagechanges = document.getElementById('imagechanges');
  imagechanges.innerHTML = '<a onClick="userstatusoff()"><img src="img/statusicon.gif" align="top" style="padding-right:20px"/></a>';
  mopen();
           			startupchat();
    
		 }


//------------------------------------------
function userstatusoff() {
	var statusShow = document.getElementById('statusShow');
	statusShow.innerHTML = '';
	 var submitsend = document.getElementById('sendbutton');
submitsend.innerHTML = '<img src="img/sendbutton.gif" align="top" border=0 name="btn_send_chat" id="btn_send_chat">';
	var imagechanger = document.getElementById('imagechanges');
	imagechanger.innerHTML = '<a onClick="userstatuson()"><img src="img/statusiconoff.gif" align="top" style="padding-right:20px"/></a>';
            if (userstatsreq.readyState == 4 || userstatsreq.readyState == 0) {
               userstatsreq.open("GET", 'time.php?user=off', true);
               //userstatsreq.onreadystatechange = ajaxFunction; 
               userstatsreq.send(null);
            }        
			stoper();
				var games = document.getElementById('games');
	games.innerHTML += 'Alert :&nbsp; You are offline.<br>' ;
	games.scrollTop = games.scrollHeight;
	mclose();
         }



//--------------------------------------------------

function lolFunction()
{ 
if (lolReq.readyState == 4) {
var loldoc = lolReq.responseText;
//alert(loldoc);
 ddmenuitem = document.getElementById('e2');
ddmenuitem.style.visibility = loldoc;
}
}


//----------------------------------------



   function sendChatText() {

            if(document.getElementById('txt_message').value == '') {
              // alert("You have not entered a message");
               return;
            }
			stoper();
if(sendReq.readyState==4 || sendReq.readyState==0)
{
sendReq.open("POST", 'time.php?chat=1&last=' + lastMessage, true);
sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
               var param = 'message=' + document.getElementById('txt_message').value;
               param += '&name=addata';
               param += '&chat=1';
               sendReq.send(param);
               document.getElementById('txt_message').value = '';
         }     
		 mTimer = setTimeout('getChatText();',2000);
}





//------------------------------

   function getChatText() {
            if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {
               xmlhttp.open("GET", 'time.php?last=' + lastMessage, true);
               xmlhttp.onreadystatechange = ajaxFunction; 
               xmlhttp.send(null);
            }        
         }








//--------------------------------------------

function ajaxFunction()
{ 
if (xmlhttp.readyState == 4) {
var statusShow = document.getElementById('statusShow');
var numusers = document.getElementById('numusers');
var xmldoc = xmlhttp.responseXML;
var message_nodes = xmldoc.getElementsByTagName("chat"); 
var n_messages = message_nodes.length
statusShow.innerHTML = "";
for (i = 0; i < n_messages; i++) {
                  var user_node = message_nodes[i].getElementsByTagName("user");
                  var text_node = message_nodes[i].getElementsByTagName("text");
				  var stats_node = message_nodes[i].getElementsByTagName("status");
                  statusShow.innerHTML += user_node[0].firstChild.nodeValue + '<br>'; 
                  //statusShow.innerHTML += text_node[0].firstChild.nodeValue + '<br>'; 


}
numusers.innerHTML = n_messages;

var games = document.getElementById('games');
var xmldoc = xmlhttp.responseXML;
var message_nodes = xmldoc.getElementsByTagName("message"); 
var n_messages = message_nodes.length
for (i = 0; i < n_messages; i++) {
                  var user_node = message_nodes[i].getElementsByTagName("user");
                  var text_node = message_nodes[i].getElementsByTagName("text");
                  var time_node = message_nodes[i].getElementsByTagName("time");
				  //var stat_node = message_nodes[i].getElementsByTagName("status");
var id_node = message_nodes[i].getElementsByTagName("mid");
                                    games.innerHTML += user_node[0].firstChild.nodeValue + ':&nbsp;' ;
                  //games.innerHTML += '<font class="chat_time">' + time_node[0].firstChild.nodeValue + '</font><br />';
                  games.innerHTML += text_node[0].firstChild.nodeValue + '<br />';
games.scrollTop = games.scrollHeight;
//gamesscroll.scrollBottom = gamesscroll.scrollHeight;
lastMessage = (message_nodes[i].getAttribute('id'));

}
if(stats_node[0].firstChild.nodeValue =='off'){
userstatusoff();
}
mTimer = setTimeout('getChatText();',10000);
}
}

//------------------------------------

function stoper() {
clearTimeout(mTimer);
}

//-------------------------------------
function entsub() {
  if (event.keyCode == 13)
 sendChatText();
  }
  
  //---------------------------------
function mopen()
{  
 
   ddmenuitem = document.getElementById('e2');
   ddmenuitem.style.visibility = 'visible';
  if (openReq.readyState == 4 || openReq.readyState == 0) {
               openReq.open("GET", 'w_open.php', true);
                             openReq.send(null);
            }    

            
}
//------------------------------------------------------------------
function mclose()
{
   
   ddmenuitem = document.getElementById('e2');
   ddmenuitem.style.visibility = 'hidden';
if (closeReq.readyState == 4 || closeReq.readyState == 0) {
               closeReq.open("GET", 'w_close.php', true);
                             closeReq.send(null);
            } 

}

//---------------------------------
      function blockSubmit() {

            return false;
         }
//------------------------------------------------
function mclosetime()
{
mclose();
  
}
//-----------------------------------------

function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) 
field.value = field.value.substring(0, maxlimit);

else
cntfield.value = maxlimit - field.value.length;
}

   function getXmlHttpRequestObject() {
            if (window.XMLHttpRequest) {
               return new XMLHttpRequest();
            } else if(window.ActiveXObject) {
               return new ActiveXObject("Microsoft.XMLHTTP");
            } else {
               document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
            }
         }
