function ParseData(){
    var _me = this;
    this.uid = null;
    this.userStauts = "";
    this.userInfo = {
        Country: "",
        Age: "",
        Sex: "",
        NickName: "",
        Sign: "",
        Address: "",
        Comment: "",
        Job: "",
        IcoId: "",
        Email: "",
        WebSite: "",
        GUID: "",
        Client: ""
    };
    this.Groups = new Array();
    this.MiniWebUrl = null;
    this.Gusers = new Array();
    this.SeachTemp = new Array();
    this.NewGroup = new Array();
	this.UserCacheInfo={LoginUserName:null,LoginPassWord:null,LoginStauts:null}
    /**处理消息内容,并根据命令调用相关数据解析器
     * @param {Object} Data
     */
    this.ParseBody = function(Obj,BodyType){
        eval("_me" + BodyType + "(Obj)");
    }
    this.Login = function(Obj){
		_me.userInfo.GUID=UrlDecode(Obj.Data.Guid)
		_me.userInfo.Client = 1;
    }
	this.User_Inf=function(Obj)
	{
		if (!Obj.Data) 
		{
			alert('用户信息,数据不正常退出');
			return ;
		}
		if (Obj.Data.Brief) {
			_me.uid=Obj.Data.Brief.Uin;
			_me.userInfo.Country = Obj.Data.Brief.Country;
			_me.userInfo.Age = Obj.Data.Brief.Age;
			_me.userInfo.Sex = Obj.Data.Brief.Sex;
			_me.userInfo.NickName = Obj.Data.Brief.Nickname;
			_me.userInfo.Sign = Obj.Data.Brief.Sign;
			_me.userInfo.Address = Obj.Data.Brief.City;
			_me.userInfo.IcoId = Obj.Data.Brief.IconId;
			_me.userInfo.Email = Obj.Data.Brief.Email;
		}
		if (Obj.Data.Detail) {
			_me.userInfo.Comment = Obj.Data.Detail.Comment;
			_me.userInfo.Job = Obj.Data.Detail.Job;
			_me.userInfo.WebSite = Obj.Data.Detail.WebSite;
		}
	}
	this.Buddy_Get=function(Obj)
	{
		if (!Obj.Data.Result) return false;
		for (var i=0; i<Obj.Data.Result.length;i++)
		{
			var GroupTitle=Obj.Data.Result[i].GroupName;
			this.Gusers[i] = new Array();
			if (Obj.Data.Result[i].Buddys)
			{
				for (var ii=0;ii<Obj.Data.Result[i].Buddys.length;ii++)
				{
					this.Gusers[i][ii] =Obj.Data.Result[i].Buddys[ii];
				}
			}
			this.Groups[i] = GroupTitle;
		}
        if (_me.Passoo() == false) 
		{
            this.Groups[this.Groups.length] = "陌生人";
            this.Gusers[this.Gusers.length] = new Array();
        }
	}
	this.Buddy_Sts=function(Obj)
	{
		var UpdataCount=0;
		var UpdataUserId=Obj.Uin;
		for (var i=0;i<this.Gusers.length;i++)
		{
			for (var ii=0;ii<this.Gusers[i].length;ii++)
			{
				var NowUserId=this.Gusers[i][ii].Uin;
				if (NowUserId==UpdataUserId)
				{
					this.Gusers[i][ii].Status=Obj.Status;
					this.Gusers[i][ii].IconId=Obj.IconId;
					this.Gusers[i][ii].ClientType=Obj.ClientType;
					UpdataCount++;
				}
			}
		}
		if (UpdataCount==0)
		{
			var UserGroupId=this.Groups.length-1;
			this.Gusers[UserGroupId][this.Gusers[UserGroupId].length]=Obj;
		}
	}
	this.Buddy_Add=function(Obj)
	{
		this.DelStranger(Obj.UserInfo.Uin); 
		
		for (var i=0;i<this.Groups.length;i++)
		{
			if (this.Groups[i].trim() == Obj.GroupName) 
			{
				this.Gusers[i][this.Gusers[i].length] =Obj.UserInfo;
				return ;
			}
		}
	}
	
	this.DelStranger=function(Uin)
	{
		var StrangerGroupId=this.Groups.length-1;
		for (var i=0;i<this.Gusers[StrangerGroupId].length;i++)
		{
			if (this.Gusers[StrangerGroupId][i].Uin==Uin)
			{
				 this.Gusers[StrangerGroupId].remove(this.Gusers[StrangerGroupId][i]);
			}
		}
	}
    this.Passoo = function(){
        for (var i = 0; i < this.Groups.length; i++) {
            if (this.Groups[i].trim() == "陌生人") {
                return true;
            }
        }
        return false;
    }
    this.MiniWeb = function(Obj)
	{
		if (Obj.Succeed==true)
		{
			this.MiniWebUrl=Obj.Data.URL;
		}
    }
    this.GetUserNameByUid = function(uid){
        var i = 0, ii = 0;
        if (uid == _me.uid) {
            return _me.userInfo.NickName;
        }
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                var userID = this.Gusers[i][ii].Uin;
                if (userID == uid) {
					var userName = this.Gusers[i][ii].Nickname;
                    return userName;
                }
            }
        }
        return "";
    }
    this.GetUserCommentByUid = function(uid){
        var i = 0, ii = 0;
        //如果是自己则返回自己的用户名
        if (uid == _me.uid) {
            return _me.userInfo.NickName;
        }
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                userID =  this.Gusers[i][ii].Uin;
                if (userID == uid) {
					var rRemarkName=this.Gusers[i][ii].RemarkName;
					if (typeof(rRemarkName)=="undefined"||!rRemarkName)
					{
						var UserNickName=this.Gusers[i][ii].Nickname;
						if (UserNickName==""||UserNickName=="-")
						{
							return this.Gusers[i][ii].Uin;
						}
						return this.Gusers[i][ii].Nickname;
					}
                    return rRemarkName;
                }
            }
        }
        return "";
    }
    this.GetUserFaceNumByUid = function(uid){
        var i = 0, ii = 0;
        //如果是自己则返回自己的用户名
        if (uid == _me.uid) {
            return _me.userInfo.IcoId;
        }
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                userID = this.Gusers[i][ii].Uin;
                userFaceNum = this.Gusers[i][ii].IconId;
                if (userID == uid) {
                    return userFaceNum;
                }
            }
        }
        return "";
    }
    this.GetGroupIdByUid = function(uid){
        var i = 0, ii = 0;
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                userID =this.Gusers[i][ii].Uin;
                if (userID == uid) {
                    return i;
                }
            }
        }
        return "false";
    }
    this.GetGroupNameByUid = function(uid){
        var i = 0, ii = 0;
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                userID =this.Gusers[i][ii].Uin;
                if (userID == uid) {
                    return this.Groups[i];
                }
            }
        }
        return "";
    }
	this.GetGroupNameByGroupId=function(Gid)
	{
		if (this.Groups[Gid])
		{
			return this.Groups[Gid];
		}
		return "";
	}
    this.GetUserStauts = function(uid){
        var i = 0, ii = 0;
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
				var UserId=this.Gusers[i][ii].Uin;
                if (UserId == uid) {
                    return this.Gusers[i][ii].Status;
                }
            }
        }
        return "";
    }
    this.GetUserOnlieCount = function(gid){
        var onlines = 0;
        var i = 0, ii = 0;
        for (i = 0; i < this.Gusers.length; i++) {
            if (gid == i) {
                for (ii = 0; ii < this.Gusers[i].length; ii++) {
                    var Stauts = this.Gusers[i][ii].Status;
                    if (Stauts == 1) {
                        onlines++;
                    }
                }
            }
        }
        return onlines;
    }
    this.GetUserCount = function(gid){
        var i = 0, ii = 0;
        for (i = 0; i < this.Gusers.length; i++) {
            if (gid == i) {
                return this.Gusers[i].length;
            }
        }
        return 0;
    }
    this.GetUserSignByuid = function(uid){
        var i = 0, ii = 0, Info = null;
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                var Info = this.Gusers[i][ii];
                UserId = Info.Uin;
                if (UserId == uid) {
					if (typeof(Info.Sign)=="undefined") return "";
                    return Info.Sign;
                }
            }
        }
        return "";
    }
    this.SetUserComment = function(uid, value){
        if (!value) {
            return;
        }
        value = value.replaceAll(" ", "&nbsp;")
        for (var i = 0; i < this.Gusers.length; i++) {
            for (var ii = 0; ii < this.Gusers[i].length; ii++) {
                UIN = this.Gusers[i][ii].Uin;
                if (UIN == uid) {
                    this.Gusers[i][ii].RemarkName =value;
                }
            }
        }
        return true;
    }
    this.delOneUserByUid = function(uid){
        var UserGroup = _me.GetGroupIdByUid(uid);
        for (var i = 0; i < this.Gusers[UserGroup].length; i++) {
            var uin = this.Gusers[UserGroup][i].Uin;
            if (uin == uid) {
                //需要删除
                this.Gusers[UserGroup].remove(this.Gusers[UserGroup][i]);
            }
        }
    }
    this.delOneGroupByGroupId = function(gid){
        for (var i = 0; i < this.Groups.length; i++) {
            if (i == gid) {
                this.Groups.remove(this.Groups[i]);
                this.Gusers.remove(this.Gusers[i]);
            }
        }
    }
    this.inFriend = function(uid){
        if (!uid) {
            return;
        }
        for (var i = 0; i < this.Gusers.length; i++) {
            for (var ii = 0; ii < this.Gusers[i].length; ii++) {
                var uin = this.Gusers[i][ii].Uin;
                if (uin == uid) {
                    return true;
                }
            }
        }
        return false;
    }
    this.addNewGroup = function(groupName){
        if (!groupName) {
            return;
        }
        //删除陌生人
        for (var i = 0; i < this.Groups.length; i++) {
            if (this.Groups[i].trim() == "陌生人") {
                //删除组
                this.Groups.remove(this.Groups[i]);
                //保存组用户
                var temp = this.Gusers[i];
                //删除组用户
                this.Gusers.remove(this.Gusers[i]);
            }
        }
        //增长Group
        this.Groups[this.Groups.length] = groupName;
        //增长guser
        this.Gusers[this.Gusers.length] = new Array();
        
        this.Groups[this.Groups.length] = "陌生人";
        this.Gusers[this.Gusers.length] = temp;
        return this.Groups.length;
    }
    this.addNewTempGroup = function(groupName){
        if (!groupName) {
            return;
        }
        this.NewGroup[this.NewGroup.length] = groupName;
    }
    this.passIshidden = function(uid){
        if (!uid) {
            return;
        }
        for (var i = 0; i < this.Gusers.length; i++) {
            for (var ii = 0; ii < this.Gusers[i].length; ii++) {
                var uin = this.Gusers[i][ii].Uin;
                if (uin == uid) {
                    var ustauts = this.Gusers[i][ii].Status;
                    if (ustauts == "2") {
                        return true;
                    }
                }
            }
        }
        return false;
    }
    this.setUserStauts = function(uid, newvalue){
        if (!uid) {
            return;
        }
        for (var i = 0; i < this.Gusers.length; i++) {
            for (var ii = 0; ii < this.Gusers[i].length; ii++) {
                var uin = this.Gusers[i][ii].Uin;
                if (uin == uid) {
                    this.Gusers[i][ii].Stauts;
                }
            }
        }
        return true;
    }
    this.GetUserClientByUid = function(uid){
        var i = 0, ii = 0;
        var Client;
        for (i = 0; i < this.Gusers.length; i++) {
            for (ii = 0; ii < this.Gusers[i].length; ii++) {
                userData = this.Gusers[i][ii];
                userID = userData.Uin;
                userClient = userData.ClientType;
				Client=userClient;
                if (userID == uid) {
                    Client = userClient;
                    if (userData.Status == 1) {
                    
                        if (parseInt(Client) == 1) {
                            return "网页终端";
                        }
                        if (parseInt(Client) == 0) {
                            return "手机Q客户端";
                        }
                    }
                    else 
                        if (userData.Status == 2) {
                            return "隐身状态";
                        }
                        else {
                            return "非在线";
                        }
                }
            }
        }
        return "非在线";
    }
	this.getGroupIdByGroupName=function(GroupName)
	{
		for (var i=0;i<this.Groups.length;i++)
		{
			if (this.Groups[i]==GroupName)
			{
				return i;
			}
		}
		return "false";
	}
    this.chageUserGroup = function(uid, newgroupid){
        oldgroupid = _me.GetGroupIdByUid(uid);
        //删除旧组用户
        for (var i = 0; i < this.Gusers[oldgroupid].length; i++) {
            ouid = this.Gusers[oldgroupid][i].Uin;
            if (ouid == uid) {
                tempvalue = this.Gusers[oldgroupid][i];
                this.Gusers[oldgroupid].remove(this.Gusers[oldgroupid][i]);
            }
        }
        //为新组增加新值
        this.Gusers[newgroupid][this.Gusers[newgroupid].length] = tempvalue;
    }
	this.CheckGroup=function(GroupName)
	{
		for (var i=0;i<this.Groups.length;i++)
		{
			if (this.Groups[i]==GroupName)
			{
				return true;
			}
		}
		return false;
	}
}