﻿/**
 *Myjrj 添加关注人好友组件
 *@author jianjun.wang@jrj.com.cn 
 *@date 2009.10.14
 *
 *@使用说明：
 *  调用接口前应初始化下面三个变量
 *	  MyJrjRelation.uid = "当前登录用户ID";  注意：和原来relationDialogs刚好相反，这是为了和myjrj-interface.js接口中一致。
 *	  MyJrjRelation.aid = "好友 关注人ID";
 *	  MyJrjRelation.userName = "好友 关注人用户名"; 
 *  加好友：MyJrjRelation.checkFriend()
 *  加关注人：MyJrjRelation.checkAttention()
 *
 *  支持在iframe页面使用，但父页面需要引用jquery、对话框组件代码。
 *
 *@depend jquery-1.2.6,myjrj-interface.js,alert、dialog组件
 */
(function($){
	var myJrjRoot = "http://i.jrj.com.cn/";
	var MyJrjRelation = {
		  uid : "",
		  aid : "",
		  userName : "",		  
		  
			existFriendTitle:'#userName已经在你的好友列表里了',
			existFriendCont:'<div><p>你将通过<a target="_blank" href="'+myJrjRoot+'app/action/dynamic.jspa?feedtype=friend">好友动态</a>看到他在社区里的动作！</p></div>',
			
			overFriendLimitTitle:'<b>你的好友已经有500个人了！</b>',
			overFriendLimitCont:'系统认为人的精力有限，不能再增加好友了！	你将通过 <a target="_blank" href="'+myJrjRoot+'app/action/dynamic.jspa?feedtype=friend">好友动态</a> 看到他们在社区里的动作！',
			
			confirmFriendTitle:'申请和 <b>#userName</b> 成为好友',
			confirmFriendCont:'<textarea id="relationinput" style="height:60px;width:370px;margin:0 10px 0 10px">有没有想说两句？</textarea><p style="padding:0;margin:10px 15px 0px 0px;text-align:right;color:#717171;">(<label id="_relationmsg_">100</label>/100)</p>',
	
			upFriendTitle : '你一直在关注#userName！<br>	<strong>确认申请升级为好友关系</strong>',
			alertCont : '申请和 <b>#userName</b> 成为好友的系统消息已经发出，请等待对方同意 ;-)',
			
			existAttentionTitle : '#userName已经在你的关注列表里了！',
      existAttentionCont : '<div><p>你将通过<a href="'+myJrjRoot+'app/action/dynamic.jspa?feedtype=contact">我关注的人的动态</a>看到他在社区里的动作！</p></div>',
			
	    overAttentionLimitTitle:'<b>你的关注列表已经有1000个人了！</b>',
	    overAttentionLimitCont:'系统认为人的精力有限，不能再增加关注对象了！你将通过 <a href="'+myJrjRoot+'app/action/dynamic.jspa?feedtype=contact">我关注的人的动态</a> 看到他们在社区里的动作！',
	
	    confirmAttentionTitle:'确认关注<b>#userName</b>',
	    confirmAttentionCont:'确认后你将通过 <a href="'+myJrjRoot+'app/action/dynamic.jspa?feedtype=contact">我关注的人的动态</a> 看到他在社区里的动作，跟他学习投资吧！',
			
			textCounterUtil:function(field, maxlimit,obj_id){	
				if (field.value.length > Number(maxlimit)){
					field.value = field.value.substring(0, Number(maxlimit)); 			   
					$('#'+obj_id).html(''+maxlimit);
				}else if(maxlimit == field.value.length){
					$('#'+obj_id).html(''+maxlimit);
				}
				else {
					if(field.value==null ||  field.value.length<1)
						$('#'+obj_id).html('0');
					else
						$('#'+obj_id).html(field.value.length);
				}
			},
			clean : function (){
				var v = $("#relationinput").val();
				if(v=='有没有想说两句？'){
					$("#relationinput").val('');
				}
			}, 
			isSelf:function(){
				if(this.uid==this.aid){
					return true;
				}
				return false;			
			},
			checkSelf :function(type){
				var cont ='';
				if(type==1){
					cont ='您不能关注自己！';
				}else{
					cont ='您不能加自己为好友！';
				}
				if(this.isSelf()){
					$.alerts.alert({message:cont,title:"操作提示"});
					return false;
				}
				return true;
			},
	    checkFriend : function(){
	    	if(this.aid.length<1) {return false;}
				if(!this.checkSelf(2)){return false;}	
				MYJRJ.relation.checkFriend(MyJrjRelation.uid,MyJrjRelation.aid,"MyJrjRelation.checkFriendBack");
			},
	    notAgin : function(){
				var cont = '您已经向<b>'+MyJrjRelation.userName+'</b>发出过申请，请耐心等待！'
				$.alerts.alert({message:cont,title:"操作提示"});
			},
	
	    existFriend : function (){
				var tit = this.existFriendTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.existFriendCont;
				$.dialog.hasCancelBtn = false;
				$.dialog.modeDialog({content:cont,title:tit,type:"modeDialog"});
			},
	
	    overFriendLimit:function(){
				var tit = this.overFriendLimitTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.overFriendLimitCont;
				$.dialog.okButton="知道了";
				$.dialog.hasCancelBtn = false;
				$.dialog.modeDialog({content:cont,title:tit,type:"modeDialog"});
			},
	
	    confirmFriend:function(){
				var tit = this.confirmFriendTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.confirmFriendCont;
			  $.dialog.modeDialog({content:cont,title:tit,type:"modeDialog",callback:function(){return MyJrjRelation.doFriend()}});
			  var textObj = top.document.getElementById("relationinput");
			  textObj.onfocus = function(){MyJrjRelation.clean()}
			  textObj.oninput = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			  textObj.onpropertychange = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			  textObj.onkeyup = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			},
	
			upFriend:function(){
				var tit = this.upFriendTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.confirmFriendCont;
				$.dialog.modeDialog({content:cont,title:tit,type:"modeDialog",callback:function(){return MyJrjRelation.doFriend()}});
				var textObj = top.document.getElementById("relationinput");
			  textObj.onfocus = function(){MyJrjRelation.clean()}
			  textObj.oninput = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			  textObj.onpropertychange = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			  textObj.onkeyup = function(){MyJrjRelation.textCounterUtil(textObj, 100,'_relationmsg_')}
			},
			doFriend:function(){
				var v = $("#relationinput").val();
				if(v=='有没有想说两句？')
					$("#relationinput").val('');
				
				v = $("#relationinput").val();
				if(v.length>100){
					alert("您输入字符要小于100！");
					return true;
				}
				if(v.length<1){
					alert("请输入申请内容！");
					return true;
				}
				MYJRJ.relation.addFriend(MyJrjRelation.uid,MyJrjRelation.aid,v,"MyJrjRelation.addFriendBack");
			  $.dialog.hasCancelBtn = false;
				var cont = MyJrjRelation.alertCont.replace("#userName", MyJrjRelation.userName);
				$.dialog.redraw({content:cont,title:"提示",type:"modeDialog"});
				return true;
			},
			checkAttention:function(){
				if(!this.checkSelf(1)){return false;}
				MYJRJ.relation.checkAttention(MyJrjRelation.uid,MyJrjRelation.aid,"MyJrjRelation.checkAttentionBack");
			},				
			overAttentionLimit:function(){
				var tit = this.overAttentionLimitTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.overAttentionLimitCont;
				$.dialog.okButton="知道了";
				$.dialog.hasCancelBtn = false;
				$.dialog.modeDialog({content:cont,title:tit,type:"modeDialog"});
			},
			existAttention:function(){
				var tit = this.existAttentionTitle.replace("#userName", MyJrjRelation.userName);
				var cont = this.existAttentionCont;
				$.dialog.hasCancelBtn = false;
				$.dialog.modeDialog({content:cont,title:tit,type:"modeDialog"});
			},
			confirmAttention:function(){	
				 var tit = this.confirmAttentionTitle.replace("#userName", MyJrjRelation.userName);
				 var cont = this.confirmAttentionCont;                              
				 $.dialog.modeDialog({content:cont,title:tit,type:"modeDialog",callback:function(){return MyJrjRelation.doAttention(tit)}});
			},
			doAttention:function(tit){
				MYJRJ.relation.addAttention(MyJrjRelation.uid,MyJrjRelation.aid,"MyJrjRelation.addAttentionBack")
			},
			checkFriendBack:function(data){
				var s = data.state ;
				switch(s){
					case -3:MyJrjRelation.overFriendLimit();break;
					case -2:MyJrjRelation.existFriend();break;
					case -1:MyJrjRelation.notAgin();break;
					case 1:MyJrjRelation.confirmFriend();break;
					case 2:MyJrjRelation.upFriend();break;
					default :$.alerts.alert({message:"出错啦！",title:"操作提示"});
				}
			},
			addFriendBack:function(data){
			  if(MyJrjRelation.onAddFriendSuccess){
			  	MyJrjRelation.onAddFriendSuccess();
			  }	
			},
			checkAttentionBack:function(data){ 
			  var s = data.state ;
				switch(s){
			    	case -3:MyJrjRelation.overAttentionLimit();break;
			    	case -2:MyJrjRelation.existAttention();break;
			    	case -1:MyJrjRelation.existFriend();break;
			    	case 1:MyJrjRelation.confirmAttention();break;
			    	default :$.alerts.alert({message:"出错啦！",title:"提示框"});
			  }
			},
			addAttentionBack:function(data){
				if(MyJrjRelation.onAddAttentionSuccess){
			  	MyJrjRelation.onAddAttentionSuccess();
			  }
			}
	}
	window.MyJrjRelation = MyJrjRelation;
})(top.jQuery);
