var xmlHttp;
var rev;//接收即时消息监听程序
var divtlstr="计算机信息系统集成项目管理人员继续教育服务平台";
function createXMLHttpRequest() {
	if (window.ActiveXObject) {
		try {
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
		}
	} 
	else if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();  
		if (xmlHttp.overrideMimeType) {
			xmlHttp.overrideMimeType('text/xml');
		}
	}
}
function createChat(nickname){
	//建立聊天连接
	/*var nickname=document.chatForm.nickName.value;
	if(nickname==""){
		alert("请输入称谓");
		document.chatForm.nickName.focus();
		return;
	}*/
	var url="/servlet/chat2GM?flag=1&nickName="+nickname;
	createXMLHttpRequest();
	xmlHttp.open("GET", url, true);
	//alert('ok,com 2 here! nickname:'+nickname+' url:'+url);
	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState == 4) { // 判断对象状态
			if (xmlHttp.status == 200) { // 信息已经成功返回，开始处理信息
				 var results = xmlHttp.responseXML.getElementsByTagName("imlogin")[0].firstChild.data;
				 var params=results.split("/");
				 if(params.length<1){
				 	alert('产生异常情况！');
				 	return;
				 }
				 
				 if(params[0]==1){
					//alert(params[1]);
					/*document.chatForm.imlgbtn.value="发送";
					document.chatForm.imlgbtn.onclick=sendMsg;
					document.chatForm.nickName.readOnly=true;
					document.chatForm.vflag.value=1;*/
					closeRegWin('chatFrm');//关闭原窗口
					createChatWin(1,nickname,'if(isSendDo()){chatForm.submit();viewMychat();}',params[1]);//建立聊天窗口
					
					rev=window.setInterval("revMsg()",1000);
				 }else{
					 alert(params[1]);
				 }
				 //document.register.name.value;
			} else { //页面不正常
				rev=window.clearInterval(rev);
				alert("您所请求的页面有异常。");
			}
		}
	}
	
	xmlHttp.send(null);  // 发送请求
}
function revMsg(){
	//接收消息函数
	var url="/servlet/chat2GM?flag=3";
	createXMLHttpRequest();
	xmlHttp.open("GET", url, true);
	
	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState == 4) { // 判断对象状态
			if (xmlHttp.status == 200) { // 信息已经成功返回，开始处理信息
				//var results = xmlHttp.responseXML.getElementsByTagName("imlogin")[0].firstChild.data;
				var results=xmlHttp.responseXML.getElementsByTagName("imlogin");
				//alert(xmlHttp.responseText);
				//先判断客服 在线状态
				var onlf=results[0].firstChild.data;
				//alert(onlf);
				if(onlf=='online'){
					if(document.getElementById("gm_state")){
						document.getElementById("gm_state").innerHTML="(在线)";
						document.chatForm.sendflg.value=1;
					}
				}else{
					if(document.getElementById("gm_state")){
						document.getElementById("gm_state").innerHTML="(离线)";
						document.chatForm.sendflg.value=0;
					}
				}

				if(results.length<3){}else{

					for(var i=1;i<results.length;i++){//*注意*：这里从数组下标1开始，因为0是标识在线否
						var rs=results[i].firstChild.data;
						//var rs=results;
						if(rs==""){}else{
							//document.getElementById("chatMsg").innerHTML+="<br>"+rs;
							document.getElementById("chatMsg").innerHTML+="<span class=\"red\">"+rs+"</span>";
							//alert(rs);换行不见了
							chatDivMarquee();
						}
						
					}//for
				}//if
				
			//document.register.name.value;
			} else { //页面不正常
				alert("您所请求的页面有异常。");
				rev=window.clearInterval(rev);
			}
		}
	}
	xmlHttp.send(null);  // 发送请求
}
function quiteChat(){
	createXMLHttpRequest();
	xmlHttp.open("GET", "/servlet/chat2GM?flag=4", true);
	xmlHttp.send(null);// 发送请求
	closeRegWin("chatFrm");
	rev=window.clearInterval(rev);
	//location.href="/index.action";//刷新到首页即可
}
function isSendDo(){
	if(document.chatForm.vflag.value==1){
		if(document.chatForm.chatContent.value==""){
			alert('不能发送空消息！');
			document.chatForm.chatContent.focus();
			return false;
		}else if(document.chatForm.sendflg.value==0){
			alert('该客服人员不在线，请等待客服人员回来后再联系！');
			document.chatForm.chatContent.focus();
			return false;
		}
		//sendMsg();
		return true;
	}
	alert('请先注册!');
	return false;
}
function viewMychat(){
	//发送信息显示到聊天记录当中：
	var mychat=document.getElementById('chatContent').value;//发送信息
	//document.getElementById("chatMsg").innerHTML+="<br>我：<br>"+mychat;//显示到记录中
	document.getElementById("chatMsg").innerHTML+="<span class=\"blue\">我 ：</span><span class=\"blue\">"+mychat+"</span>";//显示到记录中
	document.getElementById('chatContent').value='';//清空本次发送的信息
	chatDivMarquee();
}
function chatDivMarquee(){
	//div内容增多时自动下拉至最新记录
	var o=document.getElementById("chatMsg");
	o.scrollTop=o.scrollHeight-o.clientHeight;
	//alert(o.scrollTop+","+o.clientHeight+","+o.scrollHeight);
　　
}
function createChatWin(vflag,nickName,btfunc,gm){
	//建立聊天窗口
	var iWidth=document.body.clientWidth;
	var iHeight=document.body.scrollHeight;
	var bgObj=document.createElement("div");
	bgObj.id="bg_grey";
	bgObj.style.cssText="position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=10);opacity:0.1;background-color:#000000;z-index:7;";
	document.body.appendChild(bgObj);//背景遮住操作
	//聊天窗口
	var msObj=document.createElement("div");
	msObj.id="chatFrm";
	//msObj.onmousedown = function(event){drag_start(event,"chatFrm")};
	msObj.style.cssText="position:absolute;z-index:16;top:"+document.body.scrollTop+"px;left:"+iWidth/4+"px;";
	msObj.align="center";
	msObj.innerHTML="<form action=\"/servlet/chat2GM?flag=2\" target=\"smsgfrm\" method=\"post\" id=\"chatForm\" name=\"chatForm\" onKeyDown=\"javascript:if(event.keyCode==13&&event.ctrlKey){if(isSendDo()){chatForm.submit();viewMychat();}else{}};\" onSubmit=\"return false;\"><iframe width=\"60%\" height=\"10\" id=\"smsgfrm\" name=\"smsgfrm\" style=\"display:none\"></iframe><div class=\"title\" onMouseDown=\"drag_start(event,'chatFrm')\"><div>"+divtlstr+"<input id=\"vflag\" name=\"vflag\" type=\"hidden\" value="+vflag+"></div>	<div class=\"cls\"><a href=\"javascript:quiteChat();\" title=\"关闭并退出\"><img src=\"webimImages/webim_close.jpg\" width=\"18\" height=\"12\" border=\"0\"></a></div></div><div class=\"GMstate\">"+gm+" <span id=\"gm_state\">(离线)</span><input type=\"hidden\" value=\"0\" id=\"sendflg\"></div><div class=\"body\"><DIV id=\"chatMsg\"></DIV><DIV style=\"height:111px;\" align=\"center\"><textarea id=\"chatContent\" name=\"chatContent\"></textarea></DIV><div class=\"bttm\"><div class=\"nkStyle\">我的昵称："+nickName+"</div><a href=\"javascript:"+btfunc+";\" title=\"发送消息快捷键：(Ctrl+回车)\">发 送</a></div></div></form>";
		
	document.body.appendChild(msObj);
}
function createReg(){
	try{
		var iWidth=document.body.clientWidth;
		var iHeight=document.body.scrollHeight;
		var bgObj=document.createElement("div");
		bgObj.id="bg_grey";
		bgObj.style.cssText="position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=10);opacity:0.1;background-color:#000000;z-index:7;";
		document.body.appendChild(bgObj);
		//登记窗口：
		var msObj=document.createElement("div");
		msObj.id="chatFrm";
		//msObj.onmousedown = function(event){drag_start(event,"chatFrm")};
		msObj.style.cssText="position:absolute;left:"+iWidth/4+"px;top:"+(document.body.scrollTop+100)+"px;z-index:16;";
		msObj.innerHTML="<div class=\"title\" onMouseDown=\"drag_start(event,'chatFrm')\"><div>"+divtlstr+"</div><div class=\"cls\"><a href=\"javascript:closeRegWin('chatFrm');\" title=\"关闭并退出\"><img src=\"webimImages/webim_close.jpg\" width=\"18\" height=\"12\" border=\"0\"></a></div></div><div class=\"GMstate\"><div style=\"float:left\">登记昵称：</div><div style=\"float:left; margin-top:20px\"><input type=\"text\" id=\"nickName\" name=\"nickName\" value='' style=\"border:#000000 1px solid\"></div><div style=\"float:left; margin-top:20px\"><input type=\"button\" id=\"regwebim\" name=\"regwebim\" value=\"登 记\" style=\"border:#000000 1px solid; margin-left:6px; height:20px\" onClick=\"javascript:checkNickName()\"></div></div>";
		document.body.appendChild(msObj);
	}catch(e){alert('建立登记窗口异常错误：'+e.description);}
}
function checkNickName(){
	if(document.getElementById("nickName").value==""){
		alert('请填写昵称');
		document.getElementById("nickName").focus();
	}else{
		createChat(document.getElementById("nickName").value);
	}
}
function closeRegWin(obj_1){
	var obj1=document.getElementById(obj_1);
	obj1.style.display="none";
	var obj2=document.getElementById("bg_grey");
	document.body.removeChild(obj1);
	if(obj2){document.body.removeChild(obj2);}
}
//==================================================================================
//拖动鼠标时用到的JS
//==================================================================================
var oldX,oldY;    // 记录鼠标移动事件发生前鼠标的位置
var dragElem;    // 记录被拖曳的对象

function $(nodeId)
{
	return document.getElementById(nodeId);
}
// 获得事件发生的主体
function getEventElement(evt)
{
evt=evt||event;
	return evt.srcElement||evt.target;
}
// 获取结点的计算样式
function getStyle(node)
{
	return node.currentStyle||document.defaultView.getComputedStyle(node, null);
}
// 拖动的动作
function drag(evt)
{
	evt=evt||event;    // 为了兼容IE和firefox，firefox执行evt，IE则执行evt=event
	var node=dragElem;

if(node != null) //if语句是我(苏本东)后来加上去的
{
   node.style.top=parseInt(getStyle(node).top||0)+evt.clientY-oldY+'px';
   node.style.left=parseInt(getStyle(node).left||0)+evt.clientX-oldX+'px';
   //node.style.right=parseInt(getStyle(node).right||0)-evt.clientX+oldX+'px';
   //0px 越往左越小 930px
   oldX=evt.clientX, oldY=evt.clientY;
}
}
// 拖动开始
function drag_start(evt,nodeId)
{
	evt=evt||event;
	oldX=evt.clientX;
	oldY=evt.clientY;
	dragElem=$(nodeId);

	document.body.onmousemove=drag;
	document.body.onmouseup=drag_end;
}
// 拖曳结束，释放onmousemove事件执行函数
function drag_end(evt)
{
	evt = evt||event;
	dragElem = null;
	getEventElement(evt).onmousemove = null;
	getEventElement(evt).onmouseup = null;
}

