﻿var c_xmlHttp1;
var c_xmlHttp2;


// 关闭当前窗口
function CloseWin() 
{         
    window.opener = null;         
    window.open('','_self');         
    window.close();         
}

// 设置标题栏文字
function SetTitle(sTitle)
{
    // 例如：您有新消息...    You have new messages......
    window.document.title = sTitle;
}

function OpenChat()
{
    window.open('Chat.aspx','_blank','height=' + screen.availHeight + ',   width='+ screen.availWidth + ', top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, status=yes');
}

// 保存已发送的信息
function SaveSendMessage()
{
    document.getElementById("hid_message_send").value = document.getElementById("txt_send_info").value;
    
}

// 显示已发送的信息
function ShowSendMessage()
{
    var sSendInfo = document.getElementById("hid_message_send").value;
    var sAllInfo = document.getElementById("hid_message_all").value;
    
    sSendInfo = document.getElementById("hid_sender").value + ":" + "\r\n" + "    " + sSendInfo;
    sAllInfo = sAllInfo + '\r\n' + sSendInfo;
    
    document.getElementById("hid_message_all").value = sAllInfo;
    document.getElementById("txt_chat_info").value = sAllInfo;
    
    document.getElementById("txt_send_info").value = "";
    
    document.getElementById("txt_chat_info").scrollTop = document.getElementById("txt_chat_info").scrollHeight;     // 滚动条置底
}




//**********************************************************************************************************************
//  AJAX 代码
//********************************************************************************************************************/

// 去掉两边的空格
String.prototype.Trim = function() 
{ 
    return this.replace(/(^\s*)|(\s*$)/g,""); 
} 


//-------------------------------------------------------------------------------------------

// 读取聊天服务信息，是否服务已打开
function AJAX_ServerInfo()
{
    c_xmlHttp1 = new ActiveXObject("Msxml2.XMLHTTP");	
	var url = "AJAX/ReadChatServer.aspx?ts=" + new Date().getTime();
	c_xmlHttp1.open("GET",url,true);
	c_xmlHttp1.onreadystatechange = HandleStateChangeSelect_ServerInfo;
	c_xmlHttp1.send(null);
}

function HandleStateChangeSelect_ServerInfo()
{
	if(c_xmlHttp1.readyState == 4 && c_xmlHttp1.status == 200)
	{
		ServerInfo();
	}

}

function ServerInfo()
{
    var strXML = c_xmlHttp1.responseText;
    
    if(strXML == "<NewDataSet />")
    {
        return;
    }
    
	var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
	xmlDoc.async = false;
	xmlDoc.loadXML(strXML);
	
	var vList = xmlDoc.documentElement.selectNodes("//NewDataSet/Table");
    
    var sRunState = vList.item(0).childNodes[1].text;       // run_state
    
    if (sRunState == 'N') 
    {
        alert('Chat service is unavailable ！');
    }
    else if (sRunState == 'Y') 
    {
        var ucid = document.getElementById("hid_uc_id").value;
        if (ucid == "") 
        {
            //alert('Please login！');
            OpenChat();     // 打开聊天窗口
        }
        else
        {
             OpenChat();     // 打开聊天窗口
        }
       
    }
}

//-------------------------------------------------------------------------------------------

// 读取聊天记录信息
function AJAX_ReadChat()
{
    var ucid = document.getElementById("hid_uc_id").value;
    c_xmlHttp2 = new ActiveXObject("Msxml2.XMLHTTP");	
	var url = "AJAX/ReadChatClient.aspx?ucid=" + ucid + "&ts=" + new Date().getTime();
	c_xmlHttp2.open("GET",url,true);
	c_xmlHttp2.onreadystatechange = HandleStateChangeSelect_ReadChat;
	c_xmlHttp2.send(null);
}

function HandleStateChangeSelect_ReadChat()
{
	if(c_xmlHttp2.readyState == 4 && c_xmlHttp2.status == 200)
	{
		ReadChat();
	}

}

function ReadChat()
{
    var strXML = c_xmlHttp2.responseText;
    
    if(strXML == "<NewDataSet />")
    {
        // 每10秒，读取数据库聊天记录
        timerID = setTimeout("AJAX_ReadChat()",10000);
        return;
    }
    
	var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
	xmlDoc.async = false;
	xmlDoc.loadXML(strXML);
	
	var vList = xmlDoc.documentElement.selectNodes("//NewDataSet/Table");
	var iCount = vList.length;
	
	var sSender = "";
	var sMessage = "";
	var sMdate = "";
	var sMtime = "";
	var sIsread = "";
	var sAllInfo = "Administrator: \r\n    Hi, Welcome to our website. What can I do for you?";
	var bIsRead = false;
	
	for(var i=0 ;i<iCount; i++)
	{
        sMessage = vList.item(i).childNodes[2].text;        // message
        sSender = vList.item(i).childNodes[3].text;         // sender
        sMdate = vList.item(i).childNodes[5].text;         // mdate
        sMtime = vList.item(i).childNodes[6].text;         // mtime
        sIsread = vList.item(i).childNodes[7].text;         // isread
        
        sMessage = "[" + sMdate + " " + sMtime + "]  " + sSender + ":" + "\r\n" + "    " + sMessage;
        sAllInfo = sAllInfo + '\r\n' + sMessage;
        
        if (sIsread == "否" && sSender == "Administrator") 
        {
            bIsRead = true;
        }
	}
    
    document.getElementById("hid_message_all").value = sAllInfo;
    document.getElementById("txt_chat_info").value = sAllInfo;
    
    document.getElementById("txt_chat_info").scrollTop = document.getElementById("txt_chat_info").scrollHeight;     // 滚动条置底
    
    if (bIsRead == true) 
    {
        SetTitle("You have new messages......");
    }
    else
    {
        SetTitle("lelestyle");
    }
    
    
    // 每10秒，读取数据库聊天记录
    timerID = setTimeout("AJAX_ReadChat()",10000);
}








