//推荐好友
var userId = "";//用户ID
var key="";//用户KEY
var mfrecommendmv;//推荐好友model
var friendsemail; //好友email对象 全局变量 为了后面取选择好友对应的邮箱
var InvalidEmail="";//无效邮件地址
var rUrl=document.URL;
var rpTitle="";
var langId=langFunc(); //zh-cn：简体中文；en：英文；tc：繁体中文；//默认为zh-cn
function mfrecommend()
{
	 var title = document.title;
     if(title.lastIndexOf("/") > 0)
         title = title.substring(0, title.lastIndexOf("/"));
	//显示字体
	myfriendI18n();
	//得用户
	userId=getCookie("userId");
	key=getCookie("handlerKey");
	rpTitle=title;
	if(userId==null||userId=="")
	{
	   //定向登录
	   mfrecommendLogin(mflangfunc.getInfo("lang_relogin"));
	   return;
	}
	friendsemail=null;
	friendsemail=new Object();
	var available_width=document.body.clientWidth;
	var left=available_width/2-530/2;
	var available_height=document.body.clientHeight;
	var top=available_height/2-510/2;
	if(mfrecommendmv) {
		mfrecommendmv.modalShow();
    } else {
        mfrecommendmv=new modalView();
        var modalHtml = "<div id='recom_bjdiv' style='display:none;'></div>";
        modalHtml += "<div class='modalDialog_contentDiv' style='width:530px;height:500px;' id='recom_poll_body' style='display:none;'>";
        modalHtml += "<table  style='font-size:12px;' align=center>";
        //内容
        modalHtml += "<tr>" +
        		"<td>"+
        		"<table style='font-size:12px;' id=\"recommandFriend\">"+
        		"<tr><td colspan=3>"+mflangfunc.getInfo("lang_recommandaddr")+"：<input type='text' value='"+rUrl+"' style='width:440px;font-size:12px;' readonly/></td></tr>"+
        		"<tr><td><select id='group' class='selectdom'  name='group' onchange='changegroup()' style='width:200px;'></select></td></tr>"+
        		"<tr>"+
        		"  <td>"+mflangfunc.getInfo("lang_canselfriend")+"：<br><select id='outgroup'  class='selectdom' name='outgroup' size='15' style='width:210px;height:200px' multiple ondblclick='moveSelection(true)'></select></td>"+
        		"  <td align='left' width='60'>"+
		        "	<input type='button' style='width:100px' class='inputbutton'  onclick='moveSelection(true)' value=' "+mflangfunc.getInfo("lang_addbutton")+"  '/><br/><br/>"+
				"	<input type='button' style='width:100px' class='inputbutton' onClick='moveSelection(false)' value=' "+mflangfunc.getInfo("lang_delbutton")+" '/><br/><br/>"+
				"	<input type='button' style='width:100px' class='inputbutton' onclick='moveAll(true)'  value='"+mflangfunc.getInfo("lang_addallbutton")+" '/><br/><br/>"+
				"	<input type='button' style='width:100px' class='inputbutton' onclick='moveAll(false)' value='"+mflangfunc.getInfo("lang_delallbutton")+"'/><br/>"+
        		"  </td>"+
        		"  <td>"+mflangfunc.getInfo("lang_selectedfriend")+"：<br><select id='ingroup'  class='selectdom' name='ingroup' size='15' style='width:210px;height:200px' multiple ondblclick='moveSelection(false)'></select></td>"+
        		"</tr>"+
        		"<tr><td colspan=3><font color='gray'>"+mflangfunc.getInfo("lang_selectinfo")+"</font></td></tr>"+
        		"<tr><td colspan=3>"+mflangfunc.getInfo("lang_addreuser")+":&nbsp;<font color='red'>"+mflangfunc.getInfo("lang_addreuserinfo")+"</font></td></tr>"+
        		"<tr><td colspan=3><textarea id='sefadd' style='width:510px;height:50px'></textarea></td></tr>"+
        		"<tr><td colspan=3>"+mflangfunc.getInfo("lang_message")+":&nbsp;<font color='red'>"+mflangfunc.getInfo("lang_messageinfo")+"</font></td></tr>"+
        		"<tr><td colspan=3><textarea id='message' style='width:510px;height:80px'></textarea></td></tr>"+
        		"<tr>&nbsp;&nbsp;</tr>" +
        		"<tr><td colspan=3 align=center><input type='button' style='width:100px' class='inputbutton' id='recomendTo'  value='"+mflangfunc.getInfo("lang_recommand")+"' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' style='width:100px' class='inputbutton' id='recomendCancel' value='"+mflangfunc.getInfo("lang_cancel")+"'/></td></tr>"+
        		"</table>"+
        		"</td>"+
        		"</tr>";
        modalHtml += "</table></div>";
        document.getElementById("recommenddiv").innerHTML = modalHtml;   
        mfrecommendmv.setCfg(
        	{contentTop: top+"px",
        	 contentLeft: left+"px",
        	 scroll:true,
        	 transparentDivs:document.getElementById("recom_bjdiv"),
        	 contentDivs:document.getElementById("recom_poll_body")
        	}
        );
        document.getElementById("recomendTo").onclick = function() {
        	//推荐好友
        	mfrecommendTo();
        }
        document.getElementById("recomendCancel").onclick = function() {
            mfrecommendmv.modalClose();
        }
        mfrecommendmv.modalShow();
    }
    //添加组名
    mfgetusergroup("group");	
}
///////////////////////////////////选择组事件//////////////////////////////////////////
function changegroup()
{
	if(userId==null||userId=="")
	  return;
	var group = document.getElementById("group").value;
	var jsonrpc = new JSONRpcClient("/cc/JSON-RPC");
    var ps = {userId:userId,key:key,group:group,method:"R"};
    var req = {"map": {"psMap": {map: ps, "javaClass": "java.util.HashMap"}, "SN": "FriendHandle"}, "javaClass": "java.util.HashMap"};
	//var typedata=jsonrpc.BH.handle([req])[0];
    jsonrpc.BH.handle(function(responseData, e){
		if(e != null)
		{
			if(e.message=="nouser")
			   mfrecommendLogin(mflangfunc.getInfo("lang_nouser"));
			else
			   alert(e.message);
			return;
	}
	else {
		    var typedata=responseData[0];
		    var len =typedata.length;
		    var panelHtml="";
		    var selectobj = document.getElementById("outgroup");
		    selectobj.length=0;//清空选择项
		    for(var i=0;i<len;i++)
		    {
		 	   if(typedata[i]==null||typedata[i].action=="D")
		 			 continue;
		 	   var dataobj=typedata[i].items.map;
		 	   var id=dataobj["id"]==null?null:dataobj["id"];
		 	   var friend=dataobj["friend"]==null?"":dataobj["friend"];
		 	   var email=dataobj["email"]==null?"":dataobj["email"];
		 	   var optiontext=friend+"<"+email+">";
		       friendsemail[id]=email;//添加好友email对象
		       var option= new Option(optiontext,id);
		       selectobj.options.add(option); 
		    }
		}
	}, [req]);
    

}
/////////////////////////////////////移动选择用户事件////////////////////////////////
//args true 添加  false 删除
function moveSelection(args)
{
	var outgroup = document.getElementById("outgroup");
	var ingroup = document.getElementById("ingroup");
	if(args)//添加
	{
	    for(var i=0;i<outgroup.length;i++){   
	        if(outgroup.options[i].selected){
	        	var val =outgroup.options[i].value;
	        	//判断已选择的有没有
	        	if(!isSelect(val))
	        	{
	        		 var option= new Option(outgroup.options[i].text,val);
	        		 ingroup.options.add(option); 
	        	}
	        }
	    }
	}
	else//删除
	{
	    //倒序删除  
	    for(var i=ingroup.length-1;i>=0;i--)  
	    {  
	        if(ingroup.options[i].selected)  
	            ingroup.remove(i);  
	    }  
	}
}
//判断好友有没有选择过
function isSelect(val)
{
	var isselect =false;
	var ingroup = document.getElementById("ingroup");
	for(var i=0;i<ingroup.length;i++){   
    	var selectval=ingroup.options[i].value;
    	if(selectval==val)
    	{
    	   isselect=true;
    	   break;
    	}
    }
    return isselect;
}
//全删全加args true 添加  false 删除
function moveAll(args)
{
	var outgroup = document.getElementById("outgroup");
	var ingroup = document.getElementById("ingroup");
	if(args)//添加
	{
	    for(var i=0;i<outgroup.length;i++){   
        	var val =outgroup.options[i].value;
        	//判断已选择的有没有
        	if(!isSelect(val))
        	{
        		 var option= new Option(outgroup.options[i].text,val);
        		 ingroup.options.add(option); 
        	}
	    }
	}
	else//删除
	{
	    //倒序删除  
	    for(var i=ingroup.length-1;i>=0;i--)  
	    {  
	       ingroup.remove(i);  
	    }  
	}
}
////////////////////////////////////////推荐动作///////////////////////////////////////
function mfrecommendTo()
{
	var emails = getEmails();
	var msg=document.getElementById("message").value;
	if(InvalidEmail!="")
	{
		if(!confirm(""+mflangfunc.getInfo("lang_checkemail")+""+InvalidEmail))
		  return
	}
	if(msg!=null&&msg.length>125)
	{
		alert(""+mflangfunc.getInfo("lang_messagelen")+"");
		return;
	}
	var recommandInfo = {};
    recommandInfo.userid =userId;
    recommandInfo.userName =getCookie("userName");
	recommandInfo.recommandUrl =rUrl;
	recommandInfo.mailTo =emails;
	recommandInfo.massage = msg;
	recommandInfo.key = key;
	recommandInfo.rpTitle = rpTitle;
	recommandInfo.langId = langId;
	recommandInfo.method = "T";
    var req = {"map": {"psMap": {map: recommandInfo, "javaClass": "java.util.HashMap"}, "SN": "FriendHandle"}, "javaClass": "java.util.HashMap"};
    jsonrpc.BH.handle(function(responseData, e){
		if(e != null)
		{
			if(e.message=="nouser")
			   mfrecommendLogin(mflangfunc.getInfo("lang_nouser"));
			else
			   alert(e.message);
			return;
		}
		else {
			alert(responseData[0].message);
			if(responseData[0].result)//正常完成
			{
	 			mfrecommendmv.modalClose();
			}
		}
	}, [req]);
	
}
//////////////////////////////////辅助功能函数//////////////////////////////////////////
//得到email
function getEmails(){
	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var email="";
	InvalidEmail="";
	var ingroup = document.getElementById("ingroup");
    for(var i=0;i<ingroup.length;i++){   
    	var val =ingroup.options[i].value;
    	val=friendsemail[val];
    	if(re.test(val)){
			if(email=="")
			   email=val;
			else
			   email+=";"+val;  
		}else{
			if(InvalidEmail=="")
			   InvalidEmail=val;
			else
			   InvalidEmail+=";"+val; 
		}
    }	
	var selfadd=document.getElementById("sefadd").value;
    if(sefadd!=null&&selfadd!="")
    {
    	var addemail = selfadd.split(";");
    	for(var i=0;i<addemail.length;i++){
			var val =addemail[i];
			if(re.test(val)){
				if(email=="")
				   email=val;
				else
				   email+=";"+val; 
			}else{
				if(InvalidEmail=="")
				   InvalidEmail=val;
				else
				   InvalidEmail+=";"+val; 
			}
	    }
    }
	return email;
}
//得到用户组 参数为下拉框的ID
function mfgetusergroup(selectid)
{
	if(userId==null||userId=="")
	  return;
	var jsonrpc = new JSONRpcClient("/cc/JSON-RPC");
	var req={"map":{"psMap":{map:{method :"G",hql:"from dao.hb.CeAddressgroup AS A where A.userid='"+userId+"' order by id ",
	"pss" : [["id","grouping"]],
	"cns" : ["dao.hb.CeAddressgroup"]},"javaClass":"java.util.HashMap"}},"javaClass":"java.util.HashMap"};
	typedata=jsonrpc.BH.handle([req])[0];
	//更新页面类别
    var selectobj = document.getElementById(selectid);
    selectobj.length=0;//清空选择项
    var objOption = new Option(mflangfunc.getInfo("lang_nogroup"),'');
    selectobj.options.add(objOption); 
    var len =typedata.length;
    for(var i=0;i<len;i++)
    {
 	   if(typedata[i]==null||typedata[i].action=="D")
 			 continue;
 		   var dataobj=typedata[i].items.map;
 	   var id=dataobj["id"]==null?null:dataobj["id"];
 	   var grouping=dataobj["grouping"]==null?null:dataobj["grouping"];
       var option= new Option(grouping,id);
       selectobj.options.add(option); 
    }
    //默认进来做一次加载
    changegroup();
}
//定向登录
function mfrecommendLogin(msg)
{
	if(confirm(msg)){
		//调用登录页面
		showModalLogin(function(){
			//刷新组件
			mfrecommend();				
		});
	}	
}
