var im_sto = 0;
var messageRequestDelay = 5000;
var currentRequestDelay = messageRequestDelay;
var loggedOnUserId = 0;
var hede = new Date();

var imChatUsers = null;
var imChatHistory = null;
var imSendMsgContent = null;
var activeChatUser = 0;

var arrChatContents = new Array();
var arrChatBlinks = new Array();
var stoBlink = 0;
var blinkInterval = 800;

var tblGeneral;
var chatRequestAccepted = false;

var stoChatOptions = 0;

var maxChatBuffer = 1000;
var strUserTabs = "";
var strUsers = new Array();

var STATUS_OFFLINE = 0;
var STATUS_ONLINE = 1;
var STATUS_AWAY   = 2;

function initIM(userId){
	loggedOnUserId = userId;
	if(!socketConn){
		im_sto = setInterval("getIM()", messageRequestDelay);
	}
	writeFloatingLayer();
	tblGeneral = document.getElementById("tblGeneral");
}

function sendIM(msgContent){
	var strTemp = "";
	var myCreatePacket = function(){
		writer = new CmdWriter("1");
		writer.appendStr("1");
		writer.appendStr(activeChatUser);
		writer.appendStr(msgContent);
		writer.endOfObject();
		strTemp = "sendIMReq:"+writer.Buffer+"<br/>";
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		reader = new CmdReader(responseText);

		var sMsgCount = 0;
		var rMsgCount = 0;

		try{sMsgCount = reader.getStr(); if(sMsgCount==null){sMsgCount=0;}}
		catch(e){}

		strMessage = "<b>" + userNickname + ":</b> " + msgContent + "<br>";
		tempChatHis = imChatHistory.innerHTML + strMessage;
		if(tempChatHis.length>maxChatBuffer){
			tempChatHis = tempChatHis.substring(tempChatHis.length-maxChatBuffer)
			if(tempChatHis.indexOf("<BR>")>=0){
				tempChatHis = tempChatHis.substring(tempChatHis.indexOf("<BR>"));
			}
		}
		imChatHistory.innerHTML = tempChatHis;
		if(arrChatContents[activeChatUser]==null || arrChatContents[activeChatUser].length==0){arrChatContents[activeChatUser] = new Array("", findNickWithId(activeChatUser), false);}
		arrChatContents[activeChatUser][0] += strMessage;

		try{rMsgCount = reader.getStr(); if(rMsgCount==null){rMsgCount=0;}}
		catch(e){}

		for(var sendedMsgCount = 0; sendedMsgCount < rMsgCount; sendedMsgCount++){
			fromId = reader.getStr();
			fromNick = reader.getStr();
			fromMsg = reader.getStr();
			fromTime = reader.getStr();

			processReceivedMessage(fromId, fromNick, fromMsg, fromTime);
		}

		scrollToBottom(imChatHistory);
		imSendMsgContent.value = "";
		imSendMsgContent.focus();

		hede = new Date();
		currentRequestDelay = messageRequestDelay;
		if(!socketConn){
			im_sto = setInterval("getIM()", messageRequestDelay);
		}
	}

	if(msgContent!=null && msgContent.length>0 && activeChatUser > 0){
		clearInterval(im_sto);
		var provider = new oyXMLRPCProvider();
		provider.createPacket = myCreatePacket;
		provider.onComplete = myOnComplete;
		provider.submit("/ajax/instant.ovt");
	}else{
		return false;
	}
}

function getIM(){

	clearInterval(im_sto);

	var strTemp = "";
	var myCreatePacket = function(){
		writer = new CmdWriter("1");
		writer.appendStr("0");
		writer.endOfObject();
		strTemp = "getIMReq:"+writer.Buffer+"<br/>";
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		hede = new Date();
		reader = new CmdReader(responseText);

		var rMsgCount = 0;

		try{rMsgCount = reader.getStr(); if(rMsgCount==null){rMsgCount=0;}}
		catch(e){}

		for(var sendedMsgCount = 0; sendedMsgCount < rMsgCount; sendedMsgCount++){
			fromId = reader.getStr();
			fromNick = reader.getStr();
			fromMsg = reader.getStr();
			fromTime = reader.getStr();

			processReceivedMessage(fromId, fromNick, fromMsg, fromTime);
		}

		if(rMsgCount>0){
			currentRequestDelay = messageRequestDelay;
			im_sto = setInterval("getIM()", messageRequestDelay);
		}else{
			if(currentRequestDelay<30000){currentRequestDelay += 1000;}
			im_sto = setInterval("getIM()", currentRequestDelay);
		}
	}

	var provider = new oyXMLRPCProvider(false);
	provider.createPacket = myCreatePacket;
	provider.onComplete = myOnComplete;
	provider.submit("/ajax/instant.ovt");
	
}

function openChatWindow(userId, userNick){
	if(!imChatUsers){
		writeFloatingLayer();
	}
	if(userNick){
		senderNick = userNick;
	}else{
		senderNick = findNickWithId(userId);
	}
	if(activeChatUser==0){
		strUsers[userId] = "<td><table cellpadding=0 cellspacing=0 border=0 id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=/images/v2/imClose.png border=0></a></td></tr></table></td>";
		strUserTabs = strUsers[userId];
		imChatUsers.innerHTML = "<table height=28 cellpadding=0 cellspacing=0><tr >" + strUserTabs +"</tr></table>"//<td><table cellpadding=0 cellspacing=0 border=0  id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
	}else{
		

		if(!document.getElementById("cw" + userId) || arrChatContents[userId]==null || arrChatContents[userId].length==0){
			strUsers[userId] = "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=/images/v2/imClose.png border=0></a></td></tr></table></td>";
			strUserTabs = "";
			
			for(chatUsers in strUsers){
				if(strUsers[chatUsers] != null){
					if(strUsers[chatUsers].indexOf("<td>")>=0){
						strUserTabs += strUsers[chatUsers];
					}
				}
			}
			//imChatUsers.innerHTML += "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
			imChatUsers.innerHTML = "<table height=28 cellpadding=0 cellspacing=0><tr >" + strUserTabs +"</tr></table>"//<td><table cellpadding=0 cellspacing=0 border=0  id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
	
		}
		
		var chatUsers;
		for(chatUsers in arrChatContents){
			if(chatUsers == userId){
				if(document.getElementById("cw" + chatUsers)){
					document.getElementById("cw" + chatUsers).className = "IMAct";
				}
				if(document.getElementById("ct" + chatUsers)){
					document.getElementById("ct" + chatUsers).className = "IMNick";
				}
			}else{
				if(document.getElementById("cw" + chatUsers)){
					document.getElementById("cw" + chatUsers).className = "IMPsv";
				}
				if(document.getElementById("ct" + chatUsers)){
					document.getElementById("ct" + chatUsers).className = "IMNickPsv";
				}
			}
		}
	}

	activeChatUser = userId;
	writeChatOptions();
	if(arrChatContents[activeChatUser]==null || arrChatContents[activeChatUser].length==0){
		if(chatRequestAccepted){
			chatRequestAccepted = false;
			arrChatContents[activeChatUser] = new Array("<span class=IMSystemMessage>Chat request accepted. Go go go...</span><br>", senderNick, false);
		}else{
			arrChatContents[activeChatUser] = new Array("", senderNick, false);
		}
	}
	imChatHistory.innerHTML = arrChatContents[activeChatUser][0];
	scrollToBottom(imChatHistory);
	msgLayer.style.display="";
	setElementPositionByMouse(msgLayer.id);
	setFocus();
	closeProfileBanner();
}

function checkKeyCode(e){
	var keyCode = (isIE)?e.keyCode:e.which;
	if(keyCode==13){
		if(document.getElementById("imSendMsgContent") && document.getElementById("imSendMsgContent").value.length>0){
			sendIM(document.getElementById("imSendMsgContent").value);
			document.getElementById("imSendMsgContent").value = "";
		}
		return false;
	}else{
		return true;
	}
}

function writeFloatingLayer(){
	//floating layer
	var strFloatingLayer = 
		"<table border=0 cellspacing=0 cellpadding=0 width=100%>"+
		"	<tr><td colspan=3 class=IMPsv align=left id=imChatUsers height=28 nowrap ></td></tr>"+
		"	<tr><td height=6></td></tr>"+
		"	<tr>"+
		"		<td valign=top><img src=/images/v2/logoSmall.png border=0 ></td>"+
		"		<td id=imChatPanel width=100%>"+
		"			<table border=0 cellspacing=0 cellpadding=0 width=100%>"+
		"				<tr><td colspan=2 valign=top height=256><div id=imChatHistory class=IMChatHistory></div></td></tr>"+
		"				<tr><td colspan=2 height=20>&nbsp;</td></tr>"+
		"				<tr>"+
		"					<td width=\"92%\"><textarea id=imSendMsgContent class=IMChatSend onkeypress=\"return checkKeyCode(event);\" rows=3></textarea></td>"+
		"					<td width=\"1%\">&nbsp;</td>"+
		"					<td width=\"7%\"><img src=/images/v2/popUpSend.png alt=Gönder onclick=sendIM(imSendMsgContent.value); style=cursor:pointer;></td>"+
		"				</tr>"+
		"			</table>"+
		"		</td>"+
		"		<td width=10 nowrap></td>"+
		"	<tr>"+
		"</table>";
	if(msgLayer==null || msgArea == null){
	getMsgElements();
	}
	if(msgLayer){
		msgLayer.style.top = "74px";
		msgLayer.style.left = "230px";
	}
	if(msgCaption){
		msgCaption.innerHTML = "Sohbet Penceresi"
	}
	if(msgArea){
		msgArea.innerHTML = strFloatingLayer;
	}
	imChatUsers = document.getElementById("imChatUsers");
	imChatHistory = document.getElementById("imChatHistory");
	imSendMsgContent = document.getElementById("imSendMsgContent");
	
}

function findNickWithId(userId){
	//isStarred, id, nickname, profileTitle, selfDescription, age, userLocation, avatarPath, isOnline, gender, occupationName, relatedLabelArray, inFriendList, inDeletedFriendList
	if(allRelationList && allRelationList.length>0){
		for(var curRel=0; curRel<allRelationList.length; curRel++){
			if(allRelationList[curRel][1] == userId){
				return allRelationList[curRel][2];
			}
		}
	}

	return userId;
}

function delChatHistory(userId){
	var chatUsers;
	var userCount = 0;
	var makeActive = 0;

	for(chatUsers in arrChatContents){
		if(chatUsers==userId){
			childElement = document.getElementById("cw" + chatUsers);
			if(childElement){
				childElement.parentNode.removeChild(childElement);
			}
			arrChatContents[chatUsers] = null;
			strUsers[chatUsers] = null;
		}else{
			if(arrChatContents[chatUsers]!=null){userCount++;}
			makeActive = chatUsers;
		}
	}

	if(userCount==0){
		activeChatUser = 0;
		imChatHistory.innerHTML = "";
		//msgLayer.style.display = "none";
	}else{
		activeChatUser = makeActive;
		writeChatOptions();
		if(document.getElementById("cw" + activeChatUser)){
			document.getElementById("cw" + activeChatUser).className = "IMAct";
		}
		if(document.getElementById("ct" + activeChatUser)){
			document.getElementById("ct" + activeChatUser).className = "IMNick";
		}
		imChatHistory.innerHTML = arrChatContents[activeChatUser][0];
		scrollToBottom(imChatHistory);
	}
}

function changeActiveChatUser(userId){
	var chatUsers;
	if(document.getElementById('minMax').title=="B?y?t"){
		maximize('msgLayer');
	}
	for(chatUsers in arrChatContents){
		if(chatUsers==userId){
			arrChatContents[chatUsers][2] = false;
			if(document.getElementById("cw" + chatUsers)){
				document.getElementById("cw" + chatUsers).className = "IMAct";
			}
			if(document.getElementById("ct" + chatUsers)){
				document.getElementById("ct" + chatUsers).className = "IMNick";
			}
			imChatHistory.innerHTML = arrChatContents[chatUsers][0];
			scrollToBottom(imChatHistory);
		}else{
			if(document.getElementById("cw" + chatUsers)){
				document.getElementById("cw" + chatUsers).className = "IMPsv";
			}
			if(document.getElementById("ct" + chatUsers)){
				document.getElementById("ct" + chatUsers).className = "IMNickPsv";
			}
		}
	}

	activeChatUser = userId;
	writeChatOptions();
}

function scrollToBottom(obj){
	if(obj.scrollHeight>300){
		obj.scrollTop = obj.scrollHeight;
	}
}

function IMBlink(){
	if(arrChatContents){
		var chatUsers, obj;
		var blinkingObjCount = 0;

		for(chatUsers in arrChatContents){
			if(arrChatContents[chatUsers][2]){
				obj = document.getElementById("cw" + chatUsers);
				if(obj){
					blinkingObjCount++;
					obj.className = (obj.className=="IMBlink") ? "IMPsv" : "IMBlink";
				}
				objNick = document.getElementById("ct" + chatUsers);
				if(objNick){
					blinkingObjCount++;
					objNick.className = (objNick.className=="IMNickBlink") ? "IMNickPsv" : "IMNickBlink";
				}
			}
		}
		
		if(blinkingObjCount==0 && stoBlink > 0){clearInterval(stoBlink);stoBlink=0;}
	}
}

function canChatWithUser(userId, usernick){
	var myCreatePacket = function(){
		writer = new CmdWriter("2");
		writer.appendStr(userId);
		writer.endOfObject();
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		reader = new CmdReader(responseText);

		var returnValue = reader.getStr();
		switch(returnValue){
		case "1" :
			alert("İzin isteniyor"); break;
		case "2" :
			if(document.getElementById("sMsgLayer")){
				if(document.getElementById("sMsgLayer").style.display=='none'){
					flip("sMsgLayer");
				}
				document.getElementById("sMsgLayer").style.width = "260px";
				sMsgArea = document.getElementById("sMsgArea");
				
				strMes = "<table width=100% height=100><tr><td align=center class=popupText>Bu kullanıcımızın sohbet listesinde değilsiniz. Dilerseniz normal mesaj gönderebilirsiniz." +
				"<br><br><a href=javascript:void(0); onclick=\"MsjSor('" + userId + "');\" class=popupLink>Mesaj gönder</a>" + 
				"&nbsp;|&nbsp;<a href=javascript:void(0); onclick=retrieveShortProfile(" + userId + ",\"displayProfile(arrTempProfile[0],profileLayer.id,currentLayerName,'arrTempProfile',0);\",'',true);document.getElementById('sMsgLayer').style.display='none'; class=popupLink>Profilini göster</a>" + 
				"</td></tr></table>";
				sMsgArea.innerHTML = strMes;
			}	break;
		case "3" :
			openChatWindow(userId, usernick);
			closeProfileBanner();
			break;
		case "4" :
			if(document.getElementById("sMsgLayer")){
				if(document.getElementById("sMsgLayer").style.display=='none'){
					flip("sMsgLayer");
				}
				document.getElementById("sMsgLayer").style.width = "260px";
				sMsgArea = document.getElementById("sMsgArea");
				showSilverAndGoldLayer();
				//sMsgArea.innerHTML = "<table width=100% height=100><tr><td align=center class=popupText><a href=/secure/membership.ovt?uId=" + userId +" class=popupLink>Bu işlemi yapabilmek için tıklayın</a></td></tr></table>";
			}		
			//alert("Yetkiniz yok"); 
			break;
		default :
			alert("Karşı taraftan cevap alınamadı");
		}
	}

	if(userId!=null){
		var provider = new oyXMLRPCProvider();
		provider.createPacket = myCreatePacket;
		provider.onComplete = myOnComplete;
		provider.submit("/ajax/instant.ovt");
	}else{
		return false;
	}
}

function respondToChatRequest(userId, respValue, usernick){
	var myCreatePacket = function(){
		writer = new CmdWriter("3");
		writer.appendStr(userId);
		writer.appendStr(respValue);
		writer.endOfObject();
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		reader = new CmdReader(responseText);

		var returnValue = reader.getStr();
		openChatWindow(userId, usernick);
	}

	if(userId!=null){
		var provider = new oyXMLRPCProvider();
		provider.createPacket = myCreatePacket;
		provider.onComplete = myOnComplete;
		provider.submit("/ajax/instant.ovt");
	}else{
		return false;
	}
}

function setFocus(){
	window.focus();
	if(imSendMsgContent && document.getElementById('minMax').title=="K???lt"){imSendMsgContent.focus();}
}

function showChatOptions(){
	var oMsgLayer = document.getElementById("oMsgLayer");
	if(oMsgLayer){
		oMsgLayer.style.top = mouseY;
		oMsgLayer.style.left = mouseX;
		oMsgLayer.style.display = "";
		oMsgLayer.innerHTML = "<table border=0 class=tblChatOptions id=oMsgLayerTable cellspacing=0 cellpadding=0 background=http://s.gayet.net/images/popUpMiddleBg.png onmouseover=clearInterval(stoChatOptions); onmouseout=stoChatOptions=setTimeout(\"document.getElementById('oMsgLayer').style.display='none'\",1000);>"+
			"<tr><td><a class=linkBlue href=javascript:void(0); onclick=\"blockUser('" + activeChatUser + "', 'true', '');\"><b>Yasakla</b></a></td></tr>"+
			"<tr><td><a class=linkBlue href=javascript:void(0); onclick=retrieveShortProfile(" + activeChatUser + ",\"displayProfile(arrTempProfile[0],profileLayer.id,currentLayerName,'arrTempProfile',0);\",'',true)><b>Profilini göster</b></a></td></tr>"+
			"<tr><td><a class=linkBlue href=javascript:void(0); onclick=\"attachOrDetachLabelToUser(8,0," + activeChatUser + ", 'search', 'add');\"><b>Favorilerime Ekle</b></a></td></tr>"+
			"</table>";
	}
}

function writeChatOptions(){
	if(document.getElementById("popOptions")){
		document.getElementById("popOptions").innerHTML = "<table border=0  cellspacing=5 cellpadding=5 id=chatOptions>"+
			"<tr><td nowrap><a style=\"color:white;\"  href=javascript:void(0); onclick=retrieveShortProfileNew('" + activeChatUser + "','" + currentLayerName + "');>Profilini göster</a></td></tr>"+
			"</table>";
	}
}

function processReceivedMessage(fromId, fromNick, fromMsg, fromTime){
	if(fromId && fromNick && fromMsg){
		if(fromId=="0"){
			answerType = fromMsg.substring(0, 1);
			if(answerType!=null && answerType.length>0){
				permRequestedUserId = fromMsg.substring(1, fromMsg.indexOf("N"));
				permRequestedUserNick = fromMsg.substring(permRequestedUserId.length + 2, fromMsg.length);

				switch(answerType){
					case "Q" :
						respValue = false;
						if(confirm(permRequestedUserNick + " rumuzlu kullanıcı sizinle chat yapmak istiyor\nKabul ediyor musunuz?")){
							respValue = true;
						}
						respondToChatRequest(permRequestedUserId, respValue, permRequestedUserNick);
						break;
					case "T" :
						chatRequestAccepted = true;
						openChatWindow(permRequestedUserId, permRequestedUserNick);
						break;
					case "F" :
						alert("Your chat request did NOT accepted.");
						break;
					case "S":						
						alert("Sistem mesaj? : " + (document.getElementById('ct'+activeChatUser).innerHTML) + " rumuzlu kullanıcı hazır mesaja kapalı");
				}
			}
		} else {
			msgLayer.style.display="";
			strMessage = "<b>" + fromNick + ":</b> " + fromMsg + "<br>";

			if(activeChatUser != fromId){
				if(arrChatContents[fromId]==null || arrChatContents[fromId].length==0){
					arrChatContents[fromId] = new Array(strMessage, fromNick, false);

					if(activeChatUser == 0){
						activeChatUser = fromId;
						fromNick = fromNick.substring(0,8);
						strUsers[fromId] = "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=/images/v2/imClose.png border=0></a></td></tr></table></td>";
						strUserTabs = strUsers[fromId];//"<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
						//imChatUsers.innerHTML = "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
						imChatUsers.innerHTML = "<table height=28 cellpadding=0 cellspacing=0><tr >" + strUserTabs +"</tr></table>"//<td><table cellpadding=0 cellspacing=0 border=0  id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
	
						imChatHistory.innerHTML = strMessage;
						msgLayer.style.display = "";
						closeProfileBanner();
						writeChatOptions();

					}else{
						if(activeChatUser>4){
							fromNick = fromNick.substring(0,6);
						}else{
							fromNick = fromNick.substring(0,8);
						}
						arrChatContents[fromId][2] = true;
						strUsers[fromId] = "<td><table cellpadding=0 border=0 cellspacing=0 id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=/images/v2/imClose.png border=0></a></td></tr></table></td>";
						strUserTabs = "";
						for(chatUsers in strUsers){
							if(strUsers[chatUsers] != null){
								strUserTabs += strUsers[chatUsers];
							}
						}
	
						
						//strUserTabs += "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
						//imChatUsers.innerHTML += "<td><table cellpadding=0 border=0 cellspacing=0   id=cw" + fromId + " class=IMAct onClick=changeActiveChatUser(" + fromId + ");><tr><td id=ct" + fromId + " class=IMNick>" + fromNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + fromId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
						imChatUsers.innerHTML = "<table height=28 cellpadding=0 cellspacing=0><tr>" + strUserTabs +"</tr></table>"//<td><table cellpadding=0 cellspacing=0 border=0  id=cw" + userId + " class=IMAct onClick=changeActiveChatUser(" + userId + ");><tr><td id=ct" + userId + " class=IMNick>" + senderNick + "</td><td><a href=javascript:void(0); onClick=delChatHistory(" + userId + ");><img src=images/imClose.png border=0></a></td></tr></table></td>";
	
						if(stoBlink==0){stoBlink = setInterval("IMBlink();", blinkInterval);}
						msgLayer.style.display="";
					}
				} else {
					arrChatContents[fromId][0] += strMessage;
					tempChatArr = arrChatContents[fromId][0];
					if(tempChatArr.length>maxChatBuffer){
						tempChatArr = tempChatArr.substring(tempChatArr.length-maxChatBuffer)
						tempChatArr = tempChatArr.substring(tempChatArr.indexOf("<br>"));
					}
					arrChatContents[fromId][0] = tempChatArr;
					
					arrChatContents[fromId][2] = true;
					msgLayer.style.display="";
					if(activeChatUser != fromId){
					document.getElementById("cw" + fromId).className = "IMAct";
					document.getElementById("ct" + fromId).className = "IMNick";
					}
					if(stoBlink==0){stoBlink = setInterval("IMBlink();", blinkInterval);}
				}
			} else {
				arrChatContents[activeChatUser][0] += strMessage;
				tempChatArr = arrChatContents[activeChatUser][0];
				if(tempChatArr.length>maxChatBuffer){
					tempChatArr = tempChatArr.substring(tempChatArr.length-maxChatBuffer)
					tempChatArr = tempChatArr.substring(tempChatArr.indexOf("<br>"));
				}
				arrChatContents[activeChatUser][0] = tempChatArr;
				imChatHistory.innerHTML = tempChatArr;
				if(document.getElementById('minMax').title=='B?y?t'){
					arrChatContents[fromId][2] = true;
					if(stoBlink==0){stoBlink = setInterval("IMBlink();", blinkInterval);}
				}
			}
			setFocus();
			scrollToBottom(imChatHistory);
			imSendMsgContent.focus();
		}
	}
}

function getIMOnComplete(responseText){
	clearInterval(im_sto);
		
//	hede = new Date();
	reader = new CmdReader(responseText);

	var rMsgCount = 0;
	try{rMsgCount = reader.getStr(); 
	if(rMsgCount==null){rMsgCount=0;}}
	catch(e){}

	for(var sendedMsgCount = 0; sendedMsgCount < rMsgCount; sendedMsgCount++){
		fromId = reader.getStr();
		fromNick = reader.getStr();
		fromMsg = reader.getStr();
		fromTime = reader.getStr();

		processReceivedMessage(fromId, fromNick, fromMsg, fromTime);
	}

/*
	if(rMsgCount>0){
		currentRequestDelay = messageRequestDelay;
		im_sto = setInterval("getIM()", messageRequestDelay);
	}else{
		if(currentRequestDelay<30000){currentRequestDelay += 1000;}
		im_sto = setInterval("getIM()", currentRequestDelay);
	}
	*/
}

function changeChatStatus(val){
	var myCreatePacket = function(){
		writer = new CmdWriter("4");
		writer.appendStr(val);
		writer.endOfObject();
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		if(reader.getStr() == "true"){
			strOnlinePic = "offline.gif";
			if(val == 1){
				strOnlinePic = "online.gif"
			}else if(val == 2){
				strOnlinePic = "away.png";
			}
			if(document.getElementById("userStatus")){
				document.getElementById("userStatus").innerHTML = "<img src=http://s.gayet.net/images/v2/" + strOnlinePic + " width=10 height=10>";
			}
			
		}
	}

	var provider = new oyXMLRPCProvider();
	provider.createPacket = myCreatePacket;
	provider.onComplete = myOnComplete;
	provider.submit("/ajax/instant.ovt");
}

function getUserStatus(){
	var myCreatePacket = function(){
		writer = new CmdWriter("5");
		writer.endOfObject();
		return writer.Buffer;
	}

	var myOnComplete = function(responseText){
		val = reader.getStr();
		if(val == 1){
			strOnlinePic = "online.gif"
		}else if(val == 2){
			strOnlinePic = "away.png";
		}
		if(document.getElementById("userStatus")){
			document.getElementById("userStatus").innerHTML = "<img src=http://s.gayet.net/images/" + strOnlinePic + " width=10 height=10>";
		}
		
		if(document.getElementById("statusMenu")){
			for(i=0;i<document.getElementById("statusMenu").options.length;i++){
				if(document.getElementById("statusMenu").options[i].value == val){
					document.getElementById("statusMenu").options[i].selected = true;
				}else{
					document.getElementById("statusMenu").options[i].selected = false;
				}
			}
		}
		
	}

	var provider = new oyXMLRPCProvider();
	provider.createPacket = myCreatePacket;
	provider.onComplete = myOnComplete;
	provider.submit("/ajax/instant.ovt");
}

function showUserLayer(userId, username, status, inMessage, count, displayObject, quickId){
	if(document.getElementById("friendFloatLayer")){
		msgFriend = document.getElementById("friendFloatLayer");
		msgFriend.style.left = 150;
		var yStart = 400;
		if(inMessage){yStart = 430;}
		msgFriend.style.top = mouseY-20;//yStart + (count*30);
		
		if(msgFriend.style.display == "none"){flip("friendFloatLayer");}
		if(status == "away"){
			stTag = "png"
		} else {
			stTag = "gif";
		}
		
		strMsgFriend = "<table class=tableGrayBorder border=0 cellpadding=0 cellspacing=0 width=100%>";
		strMsgFriend +="<tr><td height=100% valign=top align=center  colspan=3>"+
		"<div>"+
		"<iframe id=ifAd src=/adver.jsp?reqURI=userlayer width=0 height=0 hspace=0 vspace=0 frameborder=0 marginheight=0 marginwidth=0 scrolling=no ALLOWTRANSPARENCY=true></iframe>	"+				
		"</div>"+
		"</td></tr>"
		
		strMsgFriend +="<tr><td height=40 bgcolor=white colspan=2 style=\"padding:4 4 4 4;\" align=center>";
		
			if(status=="online") {
				strMsgFriend += "<a href=javascript:void(0); onclick=\"canChatWithUser('" + userId + "','" + username + "');closeProfileBanner();\"><b>Sohbete çağır</b></a> | " ;
			}
			
			
			strMsgFriend +=  "<a href=javascript:void(0); onclick=\"MsjSor(" + userId + ");\" ><b>Mesaj gönder</b></a></td></tr>";
			
			strMsgFriend +=  "<tr class=imUserLayerBot><td height=10 colspan=2></td></tr><tr><td class=imUserLayerBot colspan=2><img src=http://s.gayet.net/images/v2/" + status + "." + stTag + " hspace=5><a href=javascript:void(0); onclick=retrieveShortProfile(" + userId + ",\"displayProfile(arrShortProfile[0],profileLayer.id,'" + displayObject + "','arrShortProfile',0)\");hideLayer(friendFloatLayer); class=normal><b>" + username + "</b></a></td></tr>" +
			"<tr class=imUserLayerBot><td height=10 colspan=2></td></tr><tr class=imUserLayerBot><td width=10 nowrap></td><td class=imUserLayerBot>";
			
			strMsgFriend +=  "<a href=\"/messages.ovt?navId=10040&rId="  + userId + "\" class=linkBlue>Mesajlaşmayı göster</a> | ";
			

			strMsgFriend += "<a href=\"javascript:void(0);\" onclick=\"retrieveShortProfileNew('" + userId + "', 'tblProfileActions');document.getElementById('friendFloatLayer').style.display = 'none' \" class=\"linkBlue\">Profilini göster</a></td></tr>";
			if(quickId!=null && quickId>0){
				strMsgFriend += "<tr class=imUserLayerBot><td width=10 nowrap></td><td><a href=javascript:void(0); onclick=\"if(confirm('"+username+" rumuzlu kullanıcıyı sohbet listenizden silmek istediğinizden emin misiniz?')){changeQuickContactsOrder('" + quickId + "',0,true,true);}\">Listemden sil</a></td></tr>";
			}
			strMsgFriend += "<tr class=imUserLayerBot><td colspan=2 align=right><a href=javascript:void(0); onclick=hideLayer(friendFloatLayer) class=linkBlue>Kapat</a>&nbsp;&nbsp;</td></tr>";
			strMsgFriend +="<tr class=imUserLayerBot><td height=10 colspan=2></td></tr></table>";
		//oluru var: msj atabilirsiniz<br><input id=subject><br><input id=text><input type=button onclick=\"msjYolla(userId, document.getElementById('subject').value, document.getElementById('text').value);\">";
		//alert(document.getElementById("msgArea").innerHTML);
		
		strMessageFriend = ""+
		
		"</td></tr></table>"
		msgFriend.innerHTML = strMsgFriend;
		
	}
}

function displayQuickContacts(friendList, inMessage){
	friendsLayer = document.getElementById("friendsLayer");
	friendsLayer.innerHTML = "";
	contentArea = "tblMainLogin";
	if(inMessage){
		contentArea = "tblMsgCenter"
	}
	if(friendList.length>0){
		strFriends = "<table cellspacing=0 border=1 cellpadding=0 width=100%>";
		count = 0;
		for(i=0;i<friendList.length;i++){
			if(friendList[i][8] == STATUS_ONLINE){
				count++;
				strFriends += 
					"<tr bgcolor=\"#ffffff\" onclick=\"canChatWithUser('" + friendList[i][1] + "','" + friendList[i][2] + "');\" onmouseover=\"this.className='friendsNavAct';if(stoValueWithP>0){clearInterval(stoValueWithP);};showUserLayer(" + friendList[i][1] + ", '" + friendList[i][2] +"','online', " + inMessage + "," + count + ",'" + contentArea + "','"+friendList[i][0]+"');\" onmouseout=\"this.className='friendsNavPsv';stoWithParameter('hideLayer','friendFloatLayer');\">" +
					"<td width=16 nowrap><img src=http://s.gayet.net/images/v2/online.gif width=10 height=10></td>" +
					"<td height=30 width=100%>adfg" + friendList[i][2] + "</td>" +
					"</tr>";
			}
		}
		for(i=0;i<friendList.length;i++){
			if(friendList[i][8] == STATUS_AWAY){
			count++;
				
				strFriends += "<tr bgcolor=\"#ffffff\" onclick=\"MsjSor('" + friendList[i][1] + "');\" onmouseover=\"this.className='friendsNavAct';if(stoValueWithP>0){clearInterval(stoValueWithP);}showUserLayer(" + friendList[i][1] + ", '" + friendList[i][2] +"', 'away', " + inMessage + "," + count + ",'" + contentArea + "','"+friendList[i][0]+"');\" onmouseout=\"this.className='friendsNavPsv';stoWithParameter('hideLayer','friendFloatLayer');\">";
				strFriends +=
						"<td width=16 nowrap><img src=http://s.gayet.net/images/v2/away.png width=10 height=10>&nbsp;</td>" +
						"<td height=30 width=100%>" + friendList[i][2] + "</td>" +
						"</tr>";
			}
		}
		strFriends += "<tr><td id=offlines colspan=2 style=display:none;><table cellspacing=0 cellpadding=0 width=100% border=1>";
		for(i=0;i<friendList.length;i++){
			if(friendList[i][8] == STATUS_OFFLINE){
			count++;
				
				strFriends += "<tr bgcolor=\"#ffffff\" onclick=\"MsjSor('" + friendList[i][1] + "');\" onmouseover=\"this.className='friendsNavAct';if(stoValueWithP>0){clearInterval(stoValueWithP);}showUserLayer(" + friendList[i][1] + ", '" + friendList[i][2] +"', 'offline', " + inMessage + "," + count + ",'" + contentArea + "','"+friendList[i][0]+"');\" onmouseout=\"this.className='friendsNavPsv';stoWithParameter('hideLayer','friendFloatLayer');\">";
				strFriends +=		
									"<td width=16 nowrap><img src=http://s.gayet.net/images/v2/offline.gif width=10 height=10>&nbsp;</td>" +
									"<td height=30 width=100%>" + friendList[i][2] + "</td>" +
							  "</tr>";
			}
		}
		strFriends += "</table></td></tr>";
		strFriends += "<tr><td align=right colspan=3><span class=linkBlue9 style=cursor:pointer; onclick=\"if(this.innerHTML.indexOf('g?ster')>0){document.getElementById('offlines').style.display='';this.innerHTML='Sistem d??? olanlar? gizle';}else{document.getElementById('offlines').style.display='none';this.innerHTML='Sistem dışı olanları göster';}\">Sistem dışı olanları göster</span>&nbsp;</td></tr>";
		strFriends += "</table>";
		friendsLayer.innerHTML = strFriends;
	}
}