Здравствуйте, я хочу сделать у себя на сайте приватный онлайн чат, на подобии mail.ru agent. То есть пользователь общается с другим пользователем в новом окне. Проблема в следующем например если пользователю написали, а он в это время общается с другим пользователем, как узнать, что ему только что написали и что надо открыть открыть новое окно для общения с этим пользователем. Помогите пожалуйста! Код снизу который я делал.
var doc;
function loadDoc (mes,from,to) {
if (window.navigator.appName == "Microsoft Internet Explorer")
doc = new ActiveXObject("Microsoft.XMLHTTP");
else
doc = new XMLHttpRequest();
doc.onreadystatechange = changeOut;
doc.open("POST", "ajax.php", true);
query = "mes=" + encodeURIComponent(mes) + "&from=" + encodeURIComponent(from) + "&to=" + encodeURIComponent(to) + "&url=" + new Date().getTime();
doc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
doc.send(query);
}
function test(mes) {
var element = document.getElementById('send_li');
div = document.createElement("li");
div.id = "reload";
div.innerHTML = mes;
element.appendChild(div);
}
function changeOut(){
if (doc.readyState == 4)
//responseText - текст ответа
document.getElementById("send_li").innerHTML = doc.responseText;
}
function loadDoc2 () {
if (window.navigator.appName == "Microsoft Internet Explorer")
doc = new ActiveXObject("Microsoft.XMLHTTP");
else
doc = new XMLHttpRequest();
doc.onreadystatechange = changeOut2;
doc.open("POST", "ajax.php", true);
query = "mes=" + encodeURIComponent("") + "&from=" + encodeURIComponent(<? echo($_GET['uid']); ?>) + "&url=" + new Date().getTime();
doc.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
doc.send(query);
}
function changeOut2(){
if (doc.readyState == 4) {
//responseText - текст ответа
document.getElementById("send_li").innerHTML = doc.responseText;
}
}
<ul id="send_li">
</ul>
<form>
<input type="text" name="mes" />
<input type="button" value="Отправить" onclick="test(mes.value); loadDoc(mes.value,<? echo($_SESSION['id'].','.$_GET['uid']) ?>)" />
</form>
и ajax
if (isset($_POST['mes'])) {
if(trim($_POST['mes'] != "")) {
$encoding = iconv("utf-8", "windows-1251",$_POST['mes']);
mysql_query("INSERT INTO `chat` (`mes`,`to`,`from`) VALUES ('$encoding', '$_POST[to]', '$_POST[from]')");
}
$chatqv = mysql_query("SELECT * FROM `chat` WHERE `to` = $_SESSION[id] OR `from` = $_SESSION[id]");
if (mysql_num_rows($chatqv) > 0) {
while($row = mysql_fetch_array($chatqv)) {
echo('<li>'.$row['mes'].'</li>');
}
}
}