//alert("enter player.js");

function PlayerController(){
	var _this = this;
	var URL_GET_USER_POSITION = "http://www.gpslook.net/gps_get_coord.php";
	var playerArray = new Array();
	//var playerPool = new Array();
	//var playerTrackArray = new Array();
	//var playerTrackDataArray = new Array();
	
	var sendMessage = function (id,marker){
		var html="  <table width='100%' border='0'>"+
    							"<tr>"+
      							"<td><textarea name='_send_msg_content_'  cols='40' rows='6' id='_send_msg_content_'></textarea></td>" +
      						"</tr>"+
    							"<tr>"+
      							"<td><div align='center'>"+
      								"<input type='button' name='_send_msg_button_' id='_send_msg_button_' value='发送'>"+        							
      								"</div></td>"+
    							"</tr>"+
  							"</table>";
		  var infoWin=marker.openInfoWinHtml(html);
	    infoWin.setPoint(marker.getPoint());
	    infoWin.setTitle("发送信息");
	    el("_send_msg_button_").onclick=function(){
	    	ajax_call("http://www.gpslook.net/api/rpc.php","sendMsg",new Array(id,el("_send_msg_content_").value),onSendMessage);
	    	infoWin.closeInfoWindow();
	    };
	}

	var onSendMessage = function (rt){		
		if (rt[0]=="0")
			alert("发送成功");
		else
			alert("发送失败"+rt[1]);
		
	}
	
	_this.upDatePlayers = function (datas){
		var oldArray=playerArray.slice(0);
		playerArray.length=0;
		for(var i=0;i<datas[0];i++)
		{
			var id=datas[i*4+1];
			var name=datas[i*4+2];
			var lng=datas[i*4+3];
			var lat=datas[i*4+4];
			var bFind=false;
			for(var n=0;n<oldArray.length;n++){
				if (oldArray[n][0]==id){
					bFind=true;
					oldArray[n][2].setPoint(new LTPoint(lng,lat));
					oldArray[n][1]++;				
					playerArray.push(oldArray[n]);
					oldArray.splice(n,1);
					n--;					
				}
			}
			
			if (!bFind){
				_this.createPlayer(id,name,lng,lat);
			}
		}
		
		for(var i=0;i<oldArray.length;i++){
				LTEvent.clearListeners(oldArray[i][2],null);
				map.removeOverLay(oldArray[i][2]);
				map.removeOverLay(oldArray[i][3]);
				oldArray[i][2]=null;
				oldArray[i][3]=null;
				oldArray[i]=null;				
			
		}
		oldArray.length=0;		
	}
	
	_this.createPlayer = function (id,nick,lng,lat)
	{				
			var point=new LTPoint(lng,lat);//得到该点的坐标的LTPoint						
			var icon=new LTIcon("images/offline.gif",[24,24],[12,12]);
			var marker=new LTMarker(point,icon);//向地图上添加一个标记	
			//marker.setLabel("<a href='"+"#"+"' target='_blank'>"+id+" "+nick+"</a>");
			map.addOverLay(marker);
			var mapText=new LTMapText(marker);
			mapText.setLabel("<a href='"+"#"+"' target='_blank'>"+id+" "+nick+"</a>");
			map.addOverLay(mapText);			
			playerArray.push(new Array(id,5,marker,mapText));	        	
			LTEvent.addListener( marker , "click" ,function(){sendMessage(id,marker);});
			
			//map.addOverLay(marker);
			
			
								
			//alert("mapview addMark");
			//var name=poi.name;//标记点击的时候弹出信息
	};
	
	_this.removeAllPlayers = function(){
		//alert("remove players");
		for(var i=0;i<playerArray.length;i++){
			//playerArray[i][3]--;
		//	if (playerArray[i][3]<=0)
			{
				LTEvent.clearListeners(playerArray[i][2],null);
				map.removeOverLay(playerArray[i][2]);
				map.removeOverLay(playerArray[i][3]);
				playerArray[i][2]=null;
				playerArray[i][3]=null;
				playerArray[i]=null;
				//playerArray.splice(i,1);
				
			}
		}
		//map.clearOverLays();
		playerArray.length=0;
	};
	
}