	function newHttpReq()
	{
		var newRequest = null;
		
		try
		{
			newRequest = new XMLHttpRequest();
		}
		catch(trymicrosoft)
		{
			try
			{
				newRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(othermicrosoft)
			{
				try
				{
					newRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(failed)
				{
					newRequest = null;
				}			
			}
		}
		
		return newRequest;
	
	}



	var request = newHttpReq();
	var request2 = newHttpReq();


	if(!request)
	{
		alert("Error Initializing XMLHttpRequest!");
	}	




   function postmessage()
   {
    	
    	message = document.getElementById("message").value;

     	if (message.length >= 1)
     	{

		if(message.length > 500)
		{
			message = message.substr(0,500);
		}

     		var url = "../querychat.php?message=" + escape(message) + "&lastid=" + escape(lastid) + extrastring;     		

     		if((request.readyState != 4) && (request.readyState != 0))
     		{
				request.abort();
				request = newHttpReq();
     		}

     		request.open("GET",url,true);
     		request.onreadystatechange = updatepage;
     		request.send(null);

		document.getElementById("message").value = "";
   	}

   }


   function refreshchat()
   {

	var currentdate = new Date();
	var currenttime = currentdate.getTime();
    	
     	var url = "../querychat.php?lastid=" + escape(lastid) + "&time=" + currenttime + "&contactid=" + contactid;     		

     	if((request.readyState != 4) && (request.readyState != 0))
     	{
			request.abort();
			request = newHttpReq();
     	}

     	request.open("GET",url,true);
     	request.onreadystatechange = updatepage;
     	request.send(null);
     	
     	setTimeout("refreshchat()",2100);

   }


   function refreshonlinemembers()
   {

		var currentdate = new Date();
		var currenttime = currentdate.getTime();
				
     	var url = "../queryonlinemembers.php?time=" + currenttime;     		

     	if((request2.readyState != 4) && (request2.readyState != 0))
     	{
			request2.abort();
			request2 = newHttpReq();
     	}

     	request2.open("GET",url,true);
     	request2.onreadystatechange = updateonlinemembers;
     	request2.send(null);
     	
     	setTimeout("refreshonlinemembers()",10100);

   }



   function requestchat(targetid)
   {


	var currentdate = new Date();
	var currenttime = currentdate.getTime();
    	
     	var url = "../requestchat.php?contactid=" + escape(targetid) + "&contactname=" + escape(contactname) + "&time=" + currenttime;     		


     	if((request.readyState != 4) && (request.readyState != 0))
     	{
			request.abort();
			request = newHttpReq();
     	}

     	request.open("GET",url,true);
     	request.onreadystatechange = confirmchatrequest;
     	request.send(null);

   }






   function scrollchat()
   {
   		parentobject = document.getElementById("chatdiv");
   		parentobject.scrollTop = parentobject.scrollHeight;
   }





	function updateonlinemembers()
	{
   		try 
		{
			if(request2.readyState == 4)
			{
			}
		
			if(request2.status == 200)
			{
			}
		}
		catch (e)
		{
			return;
		}


   		if (request2.readyState == 4)
   		{
			if(request2.status == 200)
   			{	
				
				document.getElementById("membercountdiv").innerHTML = "Updating...";

				parentobject2 = document.getElementById("memberdiv");
				
				while(parentobject2.childNodes.length >= 1)
				{
					parentobject2.removeChild(parentobject2.childNodes[0]);
				}
				
   				response2 = request2.responseText.split("|");
   								
				var countchat = 0;
				var countonline = 0;


				insertlocation2 = document.getElementById("blankmember");
				sourcemessage2 = document.getElementById("member");

   				for (i=0; i < response2.length - 1; i ++)
   				{
   					var messagecomponents = response2[i].split("**");
   					var firstname = messagecomponents[0];
   					var lastname = messagecomponents[1];
   					var pagename = messagecomponents[2];
   					var memberimage = messagecomponents[3];
   					var imagewidth = messagecomponents[4];
   					var imageheight = messagecomponents[5];
					var memberid = messagecomponents[6];
					var chatstatus = messagecomponents[7];

   					var contactname = firstname + " " + lastname;
			
   					newmessage2 = sourcemessage2.cloneNode(true);
   					parentobject2.insertBefore(newmessage2,insertlocation2);

   					newmessage2.childNodes[1].childNodes[0].innerHTML = contactname;
   					newmessage2.childNodes[1].childNodes[0].setAttribute("href","profiles/" + pagename);
					
					countonline = countonline + 1;

					if(chatstatus == "true")
					{
						countchat = countchat + 1;

						newmessage2.childNodes[2].innerHTML = "In Chat";
						newmessage2.childNodes[2].style.color = "#008000";
						newmessage2.childNodes[2].style.fontWeight = "bold";
					}						
					else
					{

						if(contactfound == 1)
						{
							newmessage2.childNodes[2].childNodes[0].setAttribute("href","javascript: requestchat('" + memberid + "')");   					
						}
						else
						{
							newmessage2.childNodes[2].innerHTML = "Online";
						}

						newmessage2.childNodes[2].style.color = "#000000";
						newmessage2.childNodes[2].style.fontWeight = "normal";
					}	



			
		
			
   					if(memberimage != "")
   					{	

						//imageheight = parseInt(imageheight * .50);
						//imagewidth = parseInt(imagewidth * .50);

   						newmessage2.childNodes[0].setAttribute("src",memberimage);
   						newmessage2.childNodes[0].setAttribute("height",imageheight);
   						newmessage2.childNodes[0].setAttribute("width",imagewidth);
   					}

   					newmessage2.style.visibility = "visible";

					newmessage2 = "";   					
   				}

   				document.getElementById("membercountdiv").innerHTML = "Members:&nbsp;&nbsp;&nbsp;&nbsp;Online = " + countonline + "&nbsp;&nbsp;&nbsp;&nbsp;In Chat = " + countchat;
 
		
   			}
   		}









	}


   	function updatepage()
   	{   

   		try 
		{
			if(request.readyState == 4)
			{
			}
		
			if(request.status == 200)
			{
			}
		}
		catch (e)
		{
			return;
		}
   		
   		if (request.readyState == 4)
   		{
			if(request.status == 200)
   			{	
   			
   				response = request.responseText.split("|");
				parentobject = document.getElementById("chatdiv"); 
				
   				for (i=0; i < response.length - 1; i ++)
   				{
   					var messagecomponents = response[i].split("**");
   					var messageid = messagecomponents[0];
   					var firstname = messagecomponents[1];
   					var lastname = messagecomponents[2];
   					var pagename = messagecomponents[3];
   					var message = messagecomponents[4];
   					var memberimage = messagecomponents[5];
   					var imagewidth = messagecomponents[6];
   					var imageheight = messagecomponents[7];
   					var timestamp = messagecomponents[8];
					lastid = messagecomponents[9];
   					
   					var contactname = firstname + " " + lastname;

					insertlocation = document.getElementById("blankmessage");
					
					if(document.getElementById("showheadshots").checked == true)
					{	
						sourcemessage = document.getElementById("headshotmessage");
   					}
   					else
   					{
   						sourcemessage = document.getElementById("simplemessage");
   					}
   					
   					newmessage = sourcemessage.cloneNode(true);
   					parentobject.insertBefore(newmessage,insertlocation);


					if(document.getElementById("showheadshots").checked == true)
					{	
   						newmessage.setAttribute("id",messageid);
   						newmessage.childNodes[1].childNodes[0].innerHTML = contactname;
   						newmessage.childNodes[1].childNodes[0].setAttribute("href","profiles/" + pagename);
   						newmessage.childNodes[2].innerHTML = timestamp;
   						newmessage.childNodes[3].innerHTML = message;
   						
   						if(memberimage != "")
   						{
   						   	//imageheight = parseInt(imageheight * .50);
   							//imagewidth = parseInt(imagewidth * .50);
   						
   							newmessage.childNodes[0].setAttribute("src",memberimage);
   							newmessage.childNodes[0].setAttribute("height",imageheight);
   							newmessage.childNodes[0].setAttribute("width",imagewidth);
   						}
   					}
   					else
   					{
   						newmessage.setAttribute("id",messageid);
   						newmessage.childNodes[0].childNodes[0].innerHTML = contactname;
   						newmessage.childNodes[0].childNodes[0].setAttribute("href","profiles/" + pagename);
   						newmessage.childNodes[1].innerHTML = message;
   					}
   				

   					if(document.getElementById("message"))
   					{	
   						if(message == document.getElementById("message").value)
   						{
   							document.getElementById("message").value = "";		
   						}
					}
					
   					newmessage.style.visibility = "visible";   					
   				}
   				
   				if(response.length > 1)
   				{
   					if(document.getElementById("scrollbottom").checked == true)
   					{
   						parentobject.scrollTop = parentobject.scrollHeight;
   					}

   					if(document.getElementById("playsound").checked == true)
   					{
   						soundManager.play("chat");
					}

					

				}		

   			}
   		}
   	}




	function confirmchatrequest()
	{
   		try 
		{
			if(request.readyState == 4)
			{
			}
		
			if(request.status == 200)
			{
			}
		}
		catch (e)
		{
			return;
		}


   		if (request.readyState == 4)
   		{
			if(request.status == 200)
   			{	
				alert("Your chat request has been sent.");

   				
   			}
   		}









	}



function checkforenter(theEvent)
{
	if (theEvent == null)
	{
		theEvent = window.event;
	}
		
	if (theEvent.target)
	{
		theTarget = theEvent.target;
	}
	else
	{
		theTarget = theEvent.srcElement;
	}
	
	if (theEvent.keyCode == 13)
	{
		postmessage();	
		return(false);
	}

}
