/**
 * gps下载管理模块
 */
utils.downGPS = {
		
		sourceType : {'网站' : '0' , '游记' : '1' , '路书' : '1' , '好友分享' : '2' , '官方列表' : '3' , '活动' : '4', '生活信息' : '5' , '嘀嘀' : '6' ,'我的标记' : '7','团购' : '8'},

		/**
		 * 修改后	0网站，1游记，2好友分享3，官方列表
		 */
		docType : { '人工 poi' :  '0' , '官方poi' :  '1' , '轨迹' :  '2' , '列表' :  '3' },
		pointType : { '目的地' : '0',  '集合点' : '1' ,  '经由地' : '2' , '规避地':'3'} , 
		
		selectedFriends : [],
		
		selectedGpsListFriends : [],
		
		fillFriendTypes : function(types){
			var _tmp = null;
			$("#sel_group").html('');
			$('<option value="">全部好友</option>').appendTo($("#sel_group"));
			for(var key in types){
				_tmp = $('<option value="'+types[key].name+'">'+types[key].name+'</option>');
				_tmp.appendTo($("#sel_group"));
			}
			utils.downGPS.fillFriends(0);
		},
		
		fillFriends : function(typeId){
			/**
			 * todo : 查询当前类别下的好友
			 */
			var url = web4s.context_path + "/friend/queryCarFriendList.action";
		    utils.ajax(url, {groupNo:typeId}, function(data){
		    	var friends = [];
	        	for(var key in data.carFriendList){
	        		friends.push({id:data.carFriendList[key].userId,name:data.carFriendList[key].nickName});
	        	}
	        	utils.downGPS.fillFriendsCb(friends);
		    }, function(){
		    	
		    }, "POST", "json", false);
		},
		
		fillFriendsCb : function(friends){
			var _l = friends.length;
			var _li = null;
			var _span = null;
			$("#friendName").html('');
			for(var i = 0 ; i<_l ; i++){
				if( i%3 == 0){
					_li = $('<li></li>');
					_li.appendTo($("#friendName"));
				}
				_span = $('<span><input type="checkbox" name="cName" value="'+friends[i].id+'"/><font>'+toolUtil.interceptString(friends[i].name,5)+'</font></span>');
				_span.appendTo(_li);
			}
		},
		
		limitLengthText:function(obj,length,countId){
			var desc = obj.value;
			var vals= '';
			var length = desc.length > length ? length : desc.length;
			if(desc.length > length){
				var _idx = $(obj).position();
				obj.value = desc.substring(0,length);
				if($.browser.msie){
					$(obj).position(_idx,event.x,event.y);
				}else{
					$(obj).position(_idx);
				}
			}
		    $("#"+countId).html(length);
		},
		
		fillFans : function(){
			 var url = web4s.context_path + "/friend/queryFansList.action";
			 utils.ajax(url, {}, function(data){
					 var friends = [];
	                 for(var key in data.fansModel){
	                     friends.push({id:data.fansModel[key].userId,name:data.fansModel[key].nickName});
	                 }
	                 utils.downGPS.fillFriendsCb(friends);
			    }, function(){
			    	
			    }, "POST", "json", false);
		},
		
		/**
		 * merchantAddress   商户地址
		 * merchantPhone     商户电话
		 */
		initGpsList : function(param, successCB , errorCB){
			var _html = '<ul class="win_downToGpsList" id="downToGpsListId"> '+
					  		'<li class="win_downToGpsList_Title"><span class="win_downToGpsList_chkWrap">操作</span>名称</li>'+
					  	'</ul>'+
					  	'<div style="text-align:right; padding:35px 10px"><input class="pop4fBtn" type="button" id="downloadNowId" value="立即下载" /></div>';
			$.msgBox.window({
			    title : "下载位置点到GPS",
	            html : _html,
	            width:500,
	            cls:"grayStyle",
	            autoClose:false
			});	
			for(var i in param.data){
				if(i != "in_array")
					$('<li id="downGpsList"><span class="win_downToGpsList_chkWrap c_red">'+(($.trim(param.data[i].lat) > 0 && $.trim(param.data[i].lng))?'<a href="javascript:void(0);" id="updateNameId">重命名</a>':"位置点有误")+'</span><span id="titleId">'+(parseInt(i)+1)+'.<span id="titleValueId">'+ toolUtil.interceptString(param.data[i].title,module_config.downCount) +'</span></span> <span id="titleInputId" style="display: none;"><input type="text" id="inputTitleNameValue" value="'+ toolUtil.interceptString(param.data[i].title,module_config.downCount)+'"><input type="button" id="saveBtnId" value="确定" /></span><span class="win_downToGpsList_note">'+(param.data[i].destination?param.data[i].destination:"")+'</span></li>').appendTo($("#downToGpsListId"));
			}
			
			//立即下载 
			$("#downloadNowId").click(function(){
				var pData = null;
				var poiListString = "";
				var bool = false;
				
				if(param.data[0].state == 2){
					var arrList = $("li[id='downGpsList']");
					var _datas = "";
					_datas = utils.downGPS.pointType['集合点'] + web4s.downGPSSeparator + arrList.eq(0).find("#titleValueId").html() + web4s.downGPSSeparator + param.data[0].lat + web4s.downGPSSeparator + param.data[0].lng + ',';
					for(var i = 1;i < param.data.length-1; i++){
						_datas = _datas + utils.downGPS.pointType['经由地'] + web4s.downGPSSeparator + arrList.eq(i).find("#titleValueId").html() + web4s.downGPSSeparator + param.data[i].lat + web4s.downGPSSeparator + param.data[i].lng + ',';
					}
					_datas = _datas + utils.downGPS.pointType['目的地'] + web4s.downGPSSeparator + arrList.eq(param.data.length - 1).find("#titleValueId").html() + web4s.downGPSSeparator + param.data[param.data.length - 1].lat + web4s.downGPSSeparator + param.data[param.data.length - 1].lng;
					poiListString +="'poiList[0].data':'"+_datas+"','poiList[0].belong':'"+param.data[0].belong+"','poiList[0].source':"+utils.downGPS.sourceType[param.data[0].sourceType]+",'poiList[0].dotType':"+utils.downGPS.docType[param.data[0].docType]+",'poiList[0].title':'"+param.data[0].trackTitle+"','poiList[0].userId':"+param.userId+",'poiList[0].targetId':0,'poiList[0].count':"+param.data.length+",";
				}else{
					$("li[id='downGpsList']").each(function(i){
						var isdown = true;
						if($(this).find("#titleId").css("display")=="none"){
							bool = true;
							return false;
						}
						if(param.data[i].lat && param.data[i].lng &&  $.trim(param.data[i].lat) > 0 && $.trim(param.data[i].lng) > 0 && isdown){
							var title = $(this).find("#titleValueId").html();
							var _datas = utils.downGPS.pointType['目的地'] + web4s.downGPSSeparator + title+ web4s.downGPSSeparator + param.data[i].lat + web4s.downGPSSeparator + param.data[i].lng;
							param.userId = $.trim(param.userId)?param.userId:0;
							poiListString +="'poiList["+i+"].data':'"+_datas+"','poiList["+i+"].belong':'"+param.data[i].belong+"','poiList["+i+"].source':"+utils.downGPS.sourceType[param.data[i].sourceType]+",'poiList["+i+"].dotType':"+utils.downGPS.docType[param.data[i].docType]+",'poiList["+i+"].title':'"+title+"','poiList["+i+"].userId':"+param.userId+",'poiList["+i+"].targetId':"+param.data[i].targetId+",'poiList["+i+"].count': 1,";
							if(param.data[i].pointType && param.data[i].pointType ==1){
								poiListString +="'poiList["+i+"].pointType':'"+param.data[i].pointType+"',";
							}
							if(param.data[i].shareType >= 0){
								poiListString +="'poiList["+i+"].shareType':'"+param.data[i].shareType+"',";
							}
							//商户地址
							if($.trim(param.data[i].merchantAddress)){
								poiListString += "'poiList["+i+"].merchantAddress':'"+param.data[i].merchantAddress+"',";
							}
							//商户电话
							if($.trim(param.data[i].merchantPhone)){
								poiListString += "'poiList["+i+"].merchantPhone':'"+param.data[i].merchantPhone+"',";
							}
						}
					});
				}
				if(bool){
					$("#msgBox_div").attr("id","msgBox_div1");
					$.msgBox.alert({
	                    title : "提示",
	                    msg : "请先保存已修改的名称!",
	                    icon:"warning",
	                    yesFun : function(){
							window.setTimeout(function(){
								$("#msgBox_div1").attr("id","msgBox_div");
							}, 500);
						}
	                });
					//('请先保存已修改的名称!!');
					return false;
				}
				if(poiListString == ""){
					return false;
				}
				/**
				 * 获取分享好友
				 */
				var sendFriends = ""; 
				for(var i in utils.downGPS.selectedGpsListFriends){
					if(i != "in_array" || !utils.downGPS.selectedGpsListFriends[i])
						sendFriends +=utils.downGPS.selectedGpsListFriends[i]+",";
				}
				sendFriends = sendFriends.substr(0,sendFriends.length-1);
				poiListString = poiListString.substr(0,poiListString.length-1);
				pData = eval("({"+poiListString+"})");
				pData.sendFriends = sendFriends;
				pData.sendMyId = $.trim(toolUtil.getCookieValue("cookie.cid.key"));
				var url = web4s.context_path + "/common/downloadGPSList.action";
			    utils.ajax(url, pData, function(data){
			    	 if(data.result.success){
			    		 $.msgBox.window({
		                        msg :'下载成功！',
		                        icon : "succeed",
		                        width : 200,
		                        time : 1000,
		                        cls : "noBorder"
		                    });
		            		if(successCB){
		            			utils.downGPS.selectedGpsListFriends = [];
		            			successCB();
		            		}else{
		            			utils.downGPS.selectedGpsListFriends = [];
		            		}
		            	}else{
		            		if(errorCB){
		            			utils.downGPS.selectedGpsListFriends = [];
		            			errorCB();
		            		}else{
		            			utils.downGPS.selectedGpsListFriends = [];
			            		$.msgBox.alert({
					                title : "提示",
					                msg :"下载GPS失败！",
					                icon:"warning"
					            });
		            		}
		            	}
			     }, function(){
			    	 utils.downGPS.selectedGpsListFriends = [];
			    	 $.msgBox.alert({
			                title : "提示",
			                msg :"下载GPS失败！",
			                icon:"warning"
			            }); 
			     }, "POST", "json", false);
			});
			
			$("#downToGpsListId").find("#updateNameId").click(function(){
				var obj = $(this).parents("li[id='downGpsList']");
				obj.find("#titleId").hide();
				obj.find("#updateNameId").hide();
				obj.find("#titleInputId").show();
			});
			$("#downToGpsListId").find("#saveBtnId").click(function(){
				var obj = $(this).parents("li[id='downGpsList']");
				obj.find("#updateNameId").show();
				obj.find("#titleId").show();
				obj.find("#titleInputId").hide();
				obj.find("#titleValueId").html(obj.find("#inputTitleNameValue").val());
			});
			
			
			$("#sel_group").change(function(){
				var type = $('#sel_group option:selected').val();
				if(type == "gps"){
					utils.downGPS.fillFriends(0);
				}else if(type == "fans"){
					utils.downGPS.fillFans();
				}
            });
			
			$('#sendFriend').click(function(e){
				if($('#sendFriend').attr('checked')){
					$("#msgBox_div").css({"top":"10%","margin-top":"30px"});
					$('.wrap_addfriend').show();
					$('#selectName').show();
				}else{
					$("#msgBox_div").css("top","20%");
					$('.wrap_addfriend').hide();
					$('#selectName').hide();
					var _cells = $('#receivers_div').find('.btn_remove');
					var _cell = null;
					for(var i = 0 ; i < _cells.length ; i++){
						_cell = _cells.eq(i);
						utils.downGPS.selectedGpsListFriends[parseInt(_cell.attr('removeId'))] = null; 
						_cell.parent().remove();
					}
				}
			});
			
			$("#selectName").click(function(){
				
				utils.downGPS.fillFriends(0);
				$(".pop_addfriend_contactName").show("fast");	
				$("#sel_group").find('option').removeAttr("selected");
                $("#sel_group").find('option[value="gps"]').attr("selected", "selected");
    			$("#sel_group").sSelect();
			});
			//全选
			$('#downGpsList_firendlist_id').find("#selectAll").click(function(){
				var checkboxs = $('#downGpsList_firendlist_id').find("#friendName :checkbox");
				for(var i=0;i<checkboxs.length;i++){checkboxs.eq(i).attr("checked","true");}
			});
			//全不选
			$('#downGpsList_firendlist_id').find("#unSelect").click(function(){
				var checkboxs = $('#downGpsList_firendlist_id').find("#friendName :checkbox");
				for(var i=0;i<checkboxs.length;i++){checkboxs.eq(i).attr("checked","");}
			});
			
			//提交选中的联系人
			$('#downGpsList_firendlist_id').find("#selectOk").click(function(){
				var checkboxs = $('#downGpsList_firendlist_id').find("#friendName input:checked");
				for(var i=0;i<checkboxs.length;i++){
					if(!utils.downGPS.selectedGpsListFriends[checkboxs.eq(i).val()]){
						utils.downGPS.selectedGpsListFriends[checkboxs.eq(i).val()] = checkboxs.eq(i).val(); 
						var _tep = $('<a href="javascript:void(0);" title=""><span>'+checkboxs.eq(i).parent().find("font").text()+'</span><b class="btn_remove" removeId="'+checkboxs.eq(i).val()+'"></b></a>');
						_tep.appendTo($('#downGpsList_firendlist_id').find("#gpsReceivers_div"));
					}
				};
				$(".pop_addfriend_contactName").hide("fast");
			});
			
			$('#downGpsList_firendlist_id').find("#selectCan").click(function(){
				$(".pop_addfriend_contactName").hide("fast");
			});
			$('#downGpsList_firendlist_id').find("#gpsReceivers_div").click(function(event){
				var _cell = $(event.target);
				if(_cell.attr('class') == 'btn_remove'){
					utils.downGPS.selectedGpsListFriends[parseInt(_cell.attr('removeId'))] = null; 
					_cell.parent().remove();
				} 
			});	
		}
};

