Hi.FriendUserChatWnd = function(friendUser) {
    var self = this;
	this.msgBox = null;
	this.inputCont = null;
	this.divMsgCont = null;
	this.divMsgList = null;
	this.chatFrame = null;
	this.chatTextArea = null;
	this.isMin = false;
	var miniTm = 0;
	this.styleleft = null;//左边位置
	this.styletop = null;//顶部位置
	this.timerMessage = "timerShowBuddyGroupMessage" + friendUser.userID;//设置定时器显示聊天内容
	this.friendUser = friendUser;//聊天组对象
    this.build = function() {
        var postChatForm;
		var msgBox = document.createElement("div");
        msgBox.id = "wpMsgBox_" + friendUser.userID;
        msgBox.className = "wpMsgBox";
        var style_left = (( Math.random() * 100) + 250) + "px";
        var style_top = ((Math.random() * 100 + document.documentElement.scrollTop)) + "px";
		msgBox.style.left = style_left;
		msgBox.style.top = style_top;
		var msgBoxHtml = '<div class="drag" style="left:0px;top:0px" onmousedown="SetPutFront(this,event);">';
		msgBoxHtml += '<div class="movetop">';
		msgBoxHtml += '<span class="movetopright">';
		msgBoxHtml += '<img id="btnMin" src="/skin/default/images/chat/wnd/talk_small.gif" title="最小化" />&nbsp;';
		msgBoxHtml += '<img id="btnClose" src="/skin/default/images/chat/wnd/talk_close.gif" title="关闭">';
		msgBoxHtml += '</span>';
		msgBoxHtml += friendUser.nickName;
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="wndleft">';
		msgBoxHtml += '<div class="aboutchat">';
		msgBoxHtml += '<img src="/skin/default/images/chat/wnd/talk_t_online.gif" border="0" align="absmiddle">';
		msgBoxHtml += '您正在与【' + friendUser.nickName + '】聊天';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="chatBody" id="wpMsgCont">';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="chatColumn"></div>';
		msgBoxHtml += '<div class="l4">';
        msgBoxHtml += '<iframe id="chatFrame' + friendUser.userID + '" src="/Chat/ChatFrame.Aspx?InceptUserIP=' + friendUser.nickName + '&InceptUserID=' + friendUser.userID + '" frameborder="0" marginheight="0" marginwidth="0" width="0" height="0"></iframe>';
        msgBoxHtml += '<textarea id="Content" name="Content" class="wpDBoxMArea" style="width: 300px; height: 60px;"></textarea>';
        msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="l5">';
		msgBoxHtml += '<div class="l51">';
		msgBoxHtml += '<input type="hidden">';
		msgBoxHtml += '<input name="" type="button" class="l5b" value="聊天记录">';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="l52">';
		msgBoxHtml += '<input id="close_button" name="close_button" type="button" class="l5b" value="关闭">';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="l53">';
		msgBoxHtml += '<input id="send_button" name="send_button" type="button" class="l5b" value="发 送(S)">';
		msgBoxHtml += '</div>';
		msgBoxHtml += '</div>';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="wndright">';
		msgBoxHtml += '<div class="moduleTitle">公告</div>';
		msgBoxHtml += '<div class="afficheBody" id="afficheBody">';
		msgBoxHtml += '</div>';
		msgBoxHtml += '<div class="moduleTitle">好友成员列表</div>';
		msgBoxHtml += '<div class="wndFriendList" id="wndFriendList">';
		for (var i = 0 ; i < Hi.pager.friendUserList.length ; i++) {
		    var friendUserObj = Hi.pager.friendUserList[i];
		    msgBoxHtml += '<div class="wndFriendUser" onclick="getFriendUserChatWnd(\'' + friendUserObj.userID + '\');" onmouseover="showChooseWndFriendUser(\'wndfriend' + friendUserObj.userID + '\')" id="wndfriend' + friendUserObj.userID + '">';
            msgBoxHtml += '<span class="pic"><img src="' + friendUserObj.userFace + '" width="20" height="20" align="absmiddle" /></span>';
            msgBoxHtml += '<span class="name">' + friendUserObj.nickName + '</span>';
            msgBoxHtml += '</div>';
		}
		msgBoxHtml += '</div>';
		msgBoxHtml += '</div>';
		msgBoxHtml += '</div>';
		msgBox.innerHTML = msgBoxHtml;
		msgBox.style.zIndex = zIndex;
        zIndex += 1;
        document.getElementById("ChatBox").appendChild(msgBox);
        Drag.init(msgBox.getElementsByTagName("div")[0].childNodes[0], msgBox.getElementsByTagName("div")[0]);
        this.msgBox = msgBox;
        
        var msgImgObj = msgBox.getElementsByTagName("img");
        var imgLength = msgImgObj.length;
        for (var i = 0; i < imgLength; i++) {
            switch (msgImgObj[i].id) {
                case "btnMin" :
                    msgImgObj[i].attachEvent("onclick", minWnd);//最小化窗口
                    break;
                case "btnClose":
                    msgImgObj[i].attachEvent("onclick", closeWnd);//关闭窗口
                    break;
            }
        }
        var msgInputObj = msgBox.getElementsByTagName("input");
        var inputLength = msgInputObj.length;
        for (var i = 0; i < inputLength; i++) {
        	switch (msgInputObj[i].id) {
				case "close_button":
					msgInputObj[i].attachEvent("onclick", closeWnd);//关闭窗口
					break;
				case "send_button":
				    msgInputObj[i].attachEvent("onclick", sendMessage);//发送消息
					break;
			}
        }
        msgBox.txtarea = msgBox.getElementsByTagName("textarea")[0];
        msgBox.txtarea.attachEvent("onkeydown", txtKeydown);
        try {
            msgBox.txtarea.focus();
        } 
        catch (E) {
        }
       function txtKeydown() {
            window.event.cancelBubble = true;
            if (window.event.keyCode == 27) {
                minWnd();
                return;
            }
            var msg = msgBox.txtarea.value;
            if (msg.length > 200) {
                msgBox.txtarea.value = msg_value.slice(0,200);
                return;
            }
            if (window.event.keyCode == 13
                    || event.altKey && window.event.keyCode == 83) {
               sendMessage();
            }
        }
		lists = msgBox.getElementsByTagName("div");
        ln = lists.length;
        for (var i = 0; i < ln; i++) {
            switch (lists[i].id) {
               case "wpMsgCont":
                    this.divMsgCont = lists[i];
                    this.divMsgList = lists[i];
                    break;
               
            }
        }
        this.built = true;
        //最小化窗口
        this.minWnd = function minWnd() {
            self.styleleft = msgBox.style.left;
            self.styletop = msgBox.style.top;
            var bar = Hi.pager.divBar;
            var elems = bar.getElementsByTagName("div");
            var ln = elems.length;
            var exists = false;
            for (var i = 0; i < ln; i++) {
                if (elems[i].className == "wpTinyP") {
					//发现有最小化聊天窗口
                    exists = true;
                    break;
                }
            }
            if (!exists) {
				//没有就清空层里控件
                clearChildNodes(bar);
            }
            elems = bar.getElementsByTagName("div");
            ln = elems.length;
            for (var i = 0; i < ln; i++) {
                if (elems[i].id == "MinWnd_" + friendUser.userID) {
                    msgBox.style.visibility = "hidden";//发现层里有此群的最小化聊天窗口
                    return;
                }
            }
            msgBox.style.visibility = "hidden";//隐藏聊天主窗口
            var div_min = document.createElement("div");//创建群的最小化聊天窗口
            div_min.id = "MinWnd_" + friendUser.userID;
            div_min.className = "wpTinyP";
            div_min.innerHTML = "<img src=\"" + friendUser.userFace + "\" width='20' height='20' alt=\"" + friendUser.nickName + "\">";
            div_min.attachEvent("onmousedown", checkExists);
            div_min.blink = 0;
            bar.appendChild(div_min);
            var ln = bar.getElementsByTagName("div").length;
            if (ln > 10) {
                GetObject("wpLTurnPg").style.visibility = "visible";
            }
			self.isMin = true;
        }
        //关闭窗口
        function closeWnd() {
            try {
                Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + friendUser.userID].clearShowFriendUserChatMessage();
				for (var i = 0, n = 0; i < Hi.pager.friendUserChatWndList.length; i++) {
                    if (Hi.pager.friendUserChatWndList[i].friendUser.userID != friendUser.userID) {
                        Hi.pager.friendUserChatWndList[n++] = Hi.pager.friendUserChatWndList[i];
                    }
                }
                Hi.pager.friendUserChatWndList.length -= 1;

                Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + friendUser.userID] = null;
                delete Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + friendUser.userID];
               
                msgBox.parentNode.removeChild(msgBox);
                delete msgBox;
			} catch (e) {
                //AFLAX.trace("closeWnd : " + e.description);
            }
        }
        //发送消息
        function sendMessage() {
            var msg_value = msgBox.txtarea.value;
			if (msg_value == "") {
				return false;
            }
            if (msg_value.length > 200) {
				msgBox.txtarea.value = msg_value.slice(0,200);
                return false;
            }
            var chatFrameObj = frames["chatFrame" + friendUser.userID];
            chatFrameObj.document.getElementById("Content").value = msg_value;
            var chatValue = chatFrameObj.document.getElementById("Content").value;
            var elementForm = chatFrameObj.chatForm;
		    elementForm.submit();
			getFriendUserChatWnd(friendUser.userID).addMessage(msg_value);
			return false;
        }
        //添加消息
        this.addMessage = function(msgcontent) {
            var msgDiv = document.createElement("div");
			msgDiv.className = "msgContent";
			var now = new Date();
			msgDiv.innerHTML = "<div class=\"chatshuo\">" + Hi.pager.nickname + " 于 " + now.toLocaleString().replace("年", "-").replace("月", "-").replace("日", "") + " 说：</div><div class=\"chatContent\">"  + msgcontent + "</div>";
            this.divMsgCont.appendChild(msgDiv);
			this.divMsgList.scrollTop = this.divMsgList.scrollHeight - 20;
			msgBox.txtarea.value = "";
	        msgBox.txtarea.focus();
		}
		this.clearShowFriendUserChatMessage = function() {
		    clearInterval(self.timerMessage);
		}
    }
    this.checkExists = function checkExists() {
		if (window.event) {
            window.event.cancelBubble = true;
        }
        var chatWndObj = Hi.pager.friendUserChatWndList;
        var len = chatWndObj.length;
        var obj = null;
        for (var i = 0; i < len; i++) {
			if (chatWndObj[i].msgBox.id == "wpMsgBox_" + friendUser.userID) {
				if (chatWndObj[i].isMin) {
					chatWndObj[i].msgBox.style.left = chatWndObj[i].styleleft;
					chatWndObj[i].msgBox.style.top = chatWndObj[i].styletop;
                }
                chatWndObj[i].msgBox.style.zIndex = zIndex;
                chatWndObj[i].msgBox.style.visibility = "visible";
                chatWndObj[i].isMin = false;
                try {
					chatWndObj[i].msgBox.txtarea.focus();
                } 
                catch (E) {
                
                }
                zIndex+=1;
                obj = chatWndObj[i];
            } else {
                chatWndObj[i].msgBox.style.zIndex = "1100";
            }
        }
        var bar = Hi.pager.divBar;
        var elems = bar.getElementsByTagName("div");
        var ln = elems.length;
        for (var i = 0; i < ln; i++) {
            if (elems[i].id == "MinWnd_" + friendUser.userID) {
				bar.removeChild(elems[i]);
                var ln = bar.getElementsByTagName("div").length;
                if (ln <= 10) {
                    //GetObject("wpLTurnPg").style.visibility = "hidden";
                }
                if (miniTm > 0) {
                    window.clearInterval(miniTm);
                    miniTm = 0;
                }
                break;
            }
        }
        if (bar.getElementsByTagName("div").length == 0) {
            bar.appendChild(Hi.pager.defaultTab);
        }
        eval("self.timerMessage = setInterval(\"showFriendUserChatMessage('" + friendUser.userID + "')\",5000)");
		return obj;
    }
    if (checkExists() == null) {
	    this.build();
	    Hi.pager.friendUserObj["FriendUser_" + friendUser.userID].clearShowHaveNewMessage();
	    Hi.pager.friendUserObj["FriendUser_" + friendUser.userID].friendnamespan.innerHTML = '<span class="pic"><a href="javascript:beginChat();"><img src="' + friendUser.userFace + '" width="20" height="20" align="absmiddle"/></a></span><span class="name">' + friendUser.nickName + '</span>';
	    Hi.pager.friendUserChatWndList.push(this);
		Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + friendUser.userID] = this;
	}
}
//刷新在线聊天记录
function showFriendUserChatMessage(userID) {
    var friendUser = Hi.pager.friendUserObj["FriendUser_" + userID];
	if (friendUser) {
		var friendUserChatWnd = Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + userID];
		if (friendUserChatWnd) {//是否存在此聊天窗口
			var xmlHttp = GetXmlHttp()
			xmlHttp.onreadystatechange = function(){
				if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
					friendUserChatWnd.divMsgCont.innerHTML = xmlHttp.responseText;
					//friendUserChatWnd.divMsgCont.innerHTML = ReturnStr;
					friendUserChatWnd.divMsgList.scrollTop = friendUserChatWnd.divMsgList.scrollHeight - 20;
				}
			}
			var Url = "";
			if (Hi.pager.loginUserGroupID == 6) {
			    Url = "/XmlHttp/Chat/GetChatRecord.Aspx?" + Math.random() + "&InceptUserID=" + userID + "&InceptUserIP=" + userID;
			}
			else {
			    Url = "/XmlHttp/Chat/GetChatRecord.Aspx?" + Math.random() + "&InceptUserID=" + userID;
			}
			xmlHttp.open("GET",Url,true);
	        xmlHttp.send();
		}
	}
}
Hi.Apps.Pager = function(obj) {
    //初始化
    this.start = function() {
        this.userid = 0;
        this.nickname = "";
        this.loginUserGroupID = 0;//会员等级
		this.friendUserChatWndList = [];//跟会员聊天窗口列表
		this.friendUserChatWndObj = new Object();//跟会员聊天窗口
        this.friendUserObj = new Object();//公司内部成员
		this.friendUserList = [];//公司内部成员列表
		this.divNickName = GetObject("wpNickName");//显示昵称
		this.divUserFace = GetObject("wpUserFace");//显示头像
		this.divFriendUser = GetObject("wpFriendUser");
        this.divBar = GetObject("wpShowLeftBar");
        this.defaultTab = document.createElement("div");
        this.defaultTab.id = "defaultTab";
        this.defaultTab.className = "one";
        this.divBar.appendChild(this.defaultTab);
		loadFriendUser();
		updateFriendUser = setInterval("updateLoadFriendUser()",10000);
    }
    this.addFriendUser = function(userID,userName,nickName,userFace,isHaveNew) {
        if (this.friendUserObj["FriendUser_" + userID]) {
            //存在此会员
            
            
        }
        else {
            var friendUser = new newFriendUser(this,userID,userName,nickName,userFace,isHaveNew);
            Hi.pager.friendUserObj["FriendUser_" + userID] = friendUser;
            Hi.pager.friendUserList.push(friendUser);
        }
    }
    this.setShowHaveNewMessage = function() {
        eval("this.timer = setInterval(\"setGroupNameColor('" + this.userID + "')\",1000)");
    }
    this.updateFriendUser = function(userID,userName,nickName,userFace,isHaveNew) {
        if (this.friendUserObj["FriendUser_" + userID]) {
			this.friendUserObj["FriendUser_" + userID].userID = userID;
			this.friendUserObj["FriendUser_" + userID].userName = userName;
			this.friendUserObj["FriendUser_" + userID].nickName = nickName;
			this.friendUserObj["FriendUser_" + userID].userFace = userFace;
			var oldnew = this.friendUserObj["FriendUser_" + userID].isHaveNew;
			this.friendUserObj["FriendUser_" + userID].isHaveNew = isHaveNew;			
			if (isHaveNew == 0) {
				if (oldnew == 1) {
					try {
						this.friendUserObj["FriendUser_" + userID].clearShowHaveNewMessage();
					    this.friendUserObj["FriendUser_" + userID].friendnamespan.innerHTML = '<span class="pic"><a href="javascript:beginChat();"><img src="' + userFace + '" width="20" height="20" align="absmiddle"/></a></span><span class="name">' + nickName + '</span>';
	                }
					catch(e) {
					}
				}
			}
			else {
				if (oldnew == 0) {
					try {
						this.friendUserObj["FriendUser_" + userID].setShowHaveNewMessage();
					}
					catch(e) {
					}
				}
			}
		}
		else {
			var friendUser = new newFriendUser(this,userID,userName,nickName,userFace,isHaveNew);
            Hi.pager.friendUserObj["FriendUser_" + userID] = friendUser;
            Hi.pager.friendUserList.push(friendUser);
		}
    }
    var newFriendUser = function(pager,userID,userName,nickName,userFace,isHaveNew){
		var self = this;
        this.pager = pager;
        if (userID == 0) {
			pager.defaultFriendUser = this;
		}
		this.isHaveNew = isHaveNew;
		this.userID = userID;//用户编号
		this.userName = userName;//用户名称
		this.nickName = nickName;//用户昵称
		this.userFace = userFace;//用户头像
		this.friendnamespan = null;
		this.build =  function() {
			var friendUser = document.createElement("div");
			friendUser.id = "wpFriendUser_" + userID;
			friendUser.className = "wpFrdGrp";
			var friendUserHTML = '<div class="friendUser" onmouseover="showChooseUser(\'list' + userID + '\')" id="list' + userID + '">'; 
			friendUserHTML += '<span class="pic">';
            friendUserHTML += '<a href="javascript:beginChat();"><img src="' + userFace + '" width="20" height="20" align="absmiddle"/></a>';
            friendUserHTML += '</span>';
            friendUserHTML += '<span class="name">' + nickName + '</span>';
            friendUserHTML += '</div>';
            friendUser.innerHTML =  friendUserHTML;
            friendUser.attachEvent("onclick", beginChat);
            
            friendUser.friendName = friendUser.firstChild;//<spanthis.isHaveNew = 1;
            
            this.friendnamespan = friendUser.friendName;
            if (this.isHaveNew == 1) {//有新消息
                this.setShowHaveNewMessage();
			}
            
            this.friendUser = friendUser;
            this.pager.divFriendUser.appendChild(friendUser);
		}
		function beginChat() {
			try {
			    window.event.cancelBubble = true;
                getFriendUserChatWnd(self.userID);
            } 
            catch (e) {
            }
        }
        this.clearShowHaveNewMessage = function() {
           clearInterval(this.timer);
        }
        this.setShowHaveNewMessage = function() {
            eval("this.timer = setInterval(\"setGroupNameColor('" + this.userID + "')\",1000)");
        }
        if (Hi.pager.friendUserObj["FriendUser_" + userID] == null) {
			this.build();
		}
    }
}

//设置标题和最小化图标闪动
function setGroupNameColor(userID){
    var friendUser = Hi.pager.friendUserObj["FriendUser_" + userID];
	if (friendUser) {
		var div_min = document.getElementById("MinWnd_" + userID);
		if (friendUser.friendnamespan.childNodes[1].className == "name1") {
			friendUser.friendnamespan.innerHTML = '<span class="pic"><a href="javascript:beginChat();"><img src="' + friendUser.userFace + '" width="20" height="20" align="absmiddle"/></a></span><span class="name">' + friendUser.nickName + '(新)</span>';
			if (div_min != null) {
				div_min.innerHTML = "&nbsp;";
			}
		}
		else {
			friendUser.friendnamespan.innerHTML = '<span class="pic"><a href="javascript:beginChat();"><img src="' + friendUser.userFace + '" width="20" height="20" align="absmiddle"/></a></span><span class="name1">' + friendUser.nickName + '(新)</span>';
			if (div_min != null) {
				div_min.innerHTML = '<img src="' + friendUser.userFace + '" width="20" height="20" alt="' + friendUser.nickName + '">';  
			}
		}
		
	}
}


//获取跟会员聊天窗口
function getFriendUserChatWnd(userID) {
    var friendUserChatWnd = Hi.pager.friendUserChatWndObj["FriendUserChatWnd_" + userID];
	if (friendUserChatWnd) {//是否存在此聊天窗口
        friendUserChatWnd.checkExists();
        return friendUserChatWnd;
    }
    new Hi.FriendUserChatWnd(Hi.pager.friendUserObj["FriendUser_" + userID]);
}

//加载我的好友信息
function loadFriendUser() {
    var xmlHttp = GetXmlHttp();
	xmlHttp.onreadystatechange = function(){
	    if(xmlHttp.readyState == 4 && xmlHttp.status == 200){ 
			eval(xmlHttp.responseText);
			Hi.pager.nickname = loginNickName;
			Hi.pager.loginUserGroupID = loginUserGroupID;
			Hi.pager.divNickName.innerHTML = loginNickName;
			if (loginUserID > 0) {
			    Hi.pager.divUserFace.innerHTML = "<img width=\"32\" height=\"32\" src=\"" + loginUserFace + "\">";
			}
			if (loginUserGroupID  == 6) {
			    for (var i = 0 ; i < friendUser.length ; i++) {
			         Hi.pager.addFriendUser(friendUser[i][0],friendUser[i][1],friendUser[i][2],friendUser[i][3],friendUser[i][4]);	
			    }
			}
			else {
			    for (var i = 0 ; i < friendUser.length ; i++) {
			         Hi.pager.addFriendUser(friendUser[i][0],friendUser[i][1],friendUser[i][2],friendUser[i][3],friendUser[i][4]);	
			    }
			}
		} 
	}
	var Url = "/XmlHttp/User/GetFriendUser.Aspx?" + Math.random();
	xmlHttp.open("GET",Url,true);
	xmlHttp.send(null);
}

function updateLoadFriendUser() {
	var xmlHttp = GetXmlHttp();
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
		    eval(xmlHttp.responseText);
			Hi.pager.nickname = loginNickName;
			Hi.pager.loginUserGroupID = loginUserGroupID;
			Hi.pager.divNickName.innerHTML = loginNickName;
			if (loginUserID > 0) {
			    Hi.pager.divUserFace.innerHTML = "<img width=\"32\" height=\"32\" src=\"" + loginUserFace + "\">";
			}
			//alert(Hi.Apps.Pager.divFriendUser.innerHTML);
			var frontOnlineUser = document.getElementById("wpFriendUser").childNodes;
			var objLen = frontOnlineUser.length
			var objArrayID = new Array();
			for (var i = 0 ; i < objLen ; i++) {
			    objArrayID[i] = frontOnlineUser[i].id;
			}
			for (var i = 0 ; i < objArrayID.length ; i++) {
			    var childNodeObj = document.getElementById(objArrayID[i]);
			    var IDStr = childNodeObj.id.substring(13);
			    var isFindUser = false;
			    for (var j = 0 ; j < friendUser.length ; j++) {
			        if (IDStr == friendUser[j][0]) {
			            isFindUser = true;
			        }
			    }
			    if (!isFindUser) {
			        childNodeObj.parentNode.removeChild(childNodeObj);
			    }
			}
			
			if (loginUserGroupID  == 6) {
			    for (var i = 0 ; i < friendUser.length ; i++) {
			         Hi.pager.updateFriendUser(friendUser[i][0],friendUser[i][1],friendUser[i][2],friendUser[i][3],friendUser[i][4]);	
			    }
			}
			else {
			    for (var i = 0 ; i < friendUser.length ; i++) {
			         Hi.pager.updateFriendUser(friendUser[i][0],friendUser[i][1],friendUser[i][2],friendUser[i][3],friendUser[i][4]);	
			    }
			}
		}
	}
	var Url = "/XmlHttp/User/GetFriendUser.Aspx?" + Math.random();
	xmlHttp.open("GET",Url,true);
	xmlHttp.send(null);
}