//stop start chat server
var oInterval;
function StartChatTimer() {
oInterval=window.setInterval("getChat()", 4000)
}
function StopChatTimer() {
window.clearInterval(oInterval)
UserListArea.innerHTML=""
ChatArea.innerHTML=""
}
//end stop start chat server

//chat reset script

//chat reset script

//required for external moving around

function clearSessionObjects(){
if (window.XMLHttpRequest) {
objAsp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
objAsp = new ActiveXObject("Microsoft.XMLHTTP");
}
objAsp.open("POST", "ChatServer.asp?clearSessionObjects=true&un="+LoginPassUserName+"&roomname="+ document.getElementById('select1').value, false);
objAsp.send(null);
}

//end chat reset script

//div hover script

var ie=document.all
var ns6=document.getElementById&&!document.all
var dragapproved=false
var z,x,y
function move(e){
if (dragapproved){
z.style.left=ns6? temp1+e.clientX-x: temp1+event.clientX-x
z.style.top=ns6? temp2+e.clientY-y : temp2+event.clientY-y
return false
}}
function drags(e){
if (!ie&&!ns6)
return
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"
while (firedobj.tagName!=topelement&&firedobj.className!="drag"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}
if (firedobj.className=="drag"){
dragapproved=true
z=firedobj
temp1=parseInt(z.style.left+0)
temp2=parseInt(z.style.top+0)
x=ns6? e.clientX: event.clientX
y=ns6? e.clientY: event.clientY
document.onmousemove=move
return false
}}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")

//end div hover script

//mouse sniffer script
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) {
tempX = event.clientX + document.body.scrollLeft
tempY = event.clientY + document.body.scrollTop
} else {
tempX = e.pageX;
tempY = e.pageY;
}  
if (tempX < 0){tempX = 0}
if (tempY < 0){tempY = 0}
MouseX = tempX;
MouseY = tempY;
}
//end mouse sniffer script

//menubox script

function menubox(menuUserID){

if (document.getElementById(menuUserID)){
}
else if (document.getElementById('Layer'+menuUserID)){
}
else if (menuUserID==LoginPassUserName){
}
else{
var newmenubox = document.createElement('DIV')
newmenubox.id = menuUserID
newmenubox.className='menubox'
newmenubox.style.position='absolute'
newmenubox.style.left=MouseX
newmenubox.style.top=MouseY
document.body.appendChild(newmenubox)

var newmenuboxContent = document.getElementById(menuUserID)
newmenuboxContent.innerHTML='<table><tr><td><div><b>' + menuUserID +'</b></div></td><td><div style="cursor:hand" onclick="removeMenubox('+ menuUserID +')"><img src="system_files/blushing.gif"></div></td></tr><tr><td colspan=2><div onmousedown="newprivateLayer('+ menuUserID +')" onmouseup="removeMenubox('+ menuUserID +')">Chat</div></td></tr><tr><td>Ignore</td></tr></table>'
}}
//end menubox script

//distroy menubox script
function removeMenubox(divNum){
var olddiv = document.getElementById(divNum)
document.body.removeChild(olddiv)
}
//end distroy menubox script

//distroy chatbox
function removeEvent(divNum){
var d = document.getElementById('MenuLink14')
document.getElementById(divNum)
d.removeChild(divNum)
}
//end distroy chatbox

//private chatbox test

function newprivateLayer(newprivateLayerUser){
var privateLayerID =  'Layer'+newprivateLayerUser
var privateLayerIDCloseDiv =  'privateLayerIDCloseDiv'+newprivateLayerUser

var newmaindiv = document.createElement('DIV')
newmaindiv.id = privateLayerID
newmaindiv.className='drag'
//document.getElementById('MenuLink14') needed to append into a current div otherwise it would be document.body.appendChild(newmaindiv);
document.getElementById('MenuLink14').appendChild(newmaindiv)

var privateLayerIDContent = document.getElementById(privateLayerID)
privateLayerIDContent.innerHTML='<table><tr><td><div class=header>' + privateLayerID +'</div></td><td><div style="cursor:hand" onclick="removeEvent('+ privateLayerID +')"><img src="system_files/blushing.gif"></div></td></tr><tr><td colspan=2><input  type="textbox" class="body" style="width: 150px; height: 20px; background-color: #FFFFFF; border-bottom:1px solid #39578C; border-top:1px solid #39578C; border-left:1px solid #39578C; border-right:1px solid #39578C" maxlength="100" onkeypress="return entsub(this.form);" / id ="textmsg" name="textmsg"><input type="button" value=">" onClick="updateChat()"/ id=chatbutton1 name=chatbutton2></td></tr><tr><td colspan=2><DIV align="left" STYLE="overflow:hidden;width=100%;height=100;background-color=#FFFFFF;"><DIV id="ChatAreaPrivate' + privateLayerID +'"></DIV></DIV></td></tr></table>'

var ChatAreaPrivate = document.getElementById("ChatAreaPrivate" + privateLayerID)
ChatAreaPrivate.innerHTML= ChatAreaPrivate.innerHTML + "<table cellpadding=1 cellspacing=0 border=0><tr><td valign=top><font color=#" + chatcolor.text +">" + chatFrom.text +": </td><td>" + processText(chatText.text) + "</td></tr></table>"

}

//end private chatbox test

var notLoadingChat=true
var objAsp1
var objAsp2
var postXML

function getChat(){
if (notLoadingChat){
notLoadingChat=false
if (window.XMLHttpRequest) {
objAsp1 = new XMLHttpRequest()
} else if (window.ActiveXObject) {
objAsp1 = new ActiveXObject("Microsoft.XMLHTTP");
}
postXMLStr="<defaultinfo><default>default</default><username>"+LoginPassUserName+"</username><datetime>datatochange</datetime></defaultinfo>";
objAsp1.onreadystatechange=checkIfLoaded
objAsp1.open("POST", "my_chat/ChatServer.asp?roomname=default", false);
objAsp1.send(postXMLStr)
}}

function processText(inputText) {
	var s = new String(inputText)
	return s.replace(this.getPattern(), "...");
}
function getPattern() {
	var re = /fuck|shit|asshole|nigger|idiot|cunt|kunt|arse|kaffir|honky|wetback|suka|xyu|bljat|pizda/gi;
	return re;
}

function checkIfLoaded(){
if (objAsp1.readyState==4){
notLoadingChat=true
if (objAsp1.responseXML.xml!=""){
var newChatXML=objAsp1.responseXML
var lineXML=newChatXML.documentElement.selectNodes("line");
for (var i=0;i<lineXML.length;i++){
lineNodes=lineXML(i)
chatcolor=lineNodes.selectSingleNode("textcolor")
chatText=lineNodes.selectSingleNode("text")
chatFrom=lineNodes.selectSingleNode("from")

ChatArea.innerHTML= ChatArea.innerHTML + "<table cellpadding=1 cellspacing=0 border=0><tr><td valign=top><font color=#" + chatcolor.text +">" + chatFrom.text +": </td><td>" + processText(chatText.text) + "</td></tr></table>"
ChatArea.parentNode.scrollTop=ChatArea.offsetHeight

//ChatArea.innerHTML= ChatArea.innerHTML + "<table cellpadding=1 cellspacing=0 border=0><tr><td valign=top><font color=#" + chatcolor.text +">" + chatFrom.text +": </td><td>" + processText(chatText.text) + "</td></tr></table>"
//ChatArea.scrollIntoView(false)
}

UserListArea.innerHTML=""

var newlistXML=objAsp1.responseXML
var UserListXML=newlistXML.documentElement.selectNodes("UserListdefault")
for (var j=0;j<UserListXML.length;j++){
UserListNodes=UserListXML(j)
username=UserListNodes.selectSingleNode("username")

UserListArea.innerHTML= UserListArea.innerHTML + "<table width=100% cellpadding=1 cellspacing=0 border=0><tr><td valign=top style=cursor:hand; onclick=menubox(" + username.text + ");>" + username.text + "</td></tr></table>"

UserListArea.scrollIntoView(false)
}

}}}

function formatText(textstr){
return textstr.replace(/</g,"?")
}

function updateChat(){
if (document.getElementById('textmsg').value!=""){
var textmessage=formatText(document.getElementById('textmsg').value)





if (window.XMLHttpRequest) {
objAsp2 = new XMLHttpRequest();
} else if (window.ActiveXObject) {
objAsp2 = new ActiveXObject("Microsoft.XMLHTTP");
}
if (document.implementation && document.implementation.createdocument) {
postXML=document.implementation.createDocument("", "doc", null);
} else if (window.ActiveXObject) {
postXML = new ActiveXObject("Microsoft.XMLDOM"); 
}










postXML.async = false
postXMLStr="<line><textcolor>#000000</textcolor><text>" + textmessage +"</text><from>"+LoginPassUserName+"</from><linesdatetime>datatochange</linesdatetime></line>"
objAsp2.open("POST", "my_chat/ChatServer.asp?update=true", false)
objAsp2.send(postXMLStr)
document.getElementById('textmsg').value=""
document.getElementById('textmsg').focus()
}}

function entsub(myform) {
if (window.event && window.event.keyCode == 13)
updateChat()
else
return true;}
