/**
 *脚本文件
 *公司: 互动在线(北京)科技有限公司 (hudong.com)
 *文件名:pf_addfriend.js
 *功能：ajax,增加好友、发送站内消息。
 *作者: 熊玉辉
 *创建时间: 2006-12-22 10:02
 */
 
	var gAddFriendDiv;
	var g_ad_message_txetarea;      
	var g_ad_btn_cancel;
	var g_ad_btn_sent_message;
	var gSendMessageDiv;
	var g_sm_message_txetarea;
	var g_sm_message_input;	   
	var g_sm_btn_cancel;
	var g_sm_btn_sent_message;       
	var g_user_cmt_id;
	var _curX=0,_curY=0;
	var addType=0;
	var _xmlHttp;
	_initVars();
	
	function _createXMLHttpRequest() {
	  if (window.ActiveXObject) {
	      _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  else if (window.XMLHttpRequest) {
	      _xmlHttp = new XMLHttpRequest();                
	  }
	  if (!_xmlHttp) { // 异常，创建对象实例失败
		window.alert("不能创建XMLHttpRequest对象实例.");
		return false;
	  }
	}
	
	function _initVars() {
	    gAddFriendDiv = document.getElementById("popup_addfriend");
	    g_ad_message_txetarea = document.getElementById("ad_message_content");
	    g_ad_btn_cancel = document.getElementById("ad_btn_cancel");
	    if (g_ad_btn_cancel != null){
	    	g_ad_btn_cancel.onclick = CloseAddFriend;
	    }
	    g_ad_btn_sent_message = document.getElementById("ad_btn_sent_message");
	    if(g_ad_btn_sent_message != null){
	    	g_ad_btn_sent_message.onclick = AD_SentMessage;
	    }
	   	gSendMessageDiv = document.getElementById("popup_send_message");
	    g_sm_message_txetarea = document.getElementById("sm_message_content");
	    g_sm_message_input = document.getElementById("sm_message_title");
	    g_sm_btn_cancel = document.getElementById("sm_btn_cancel");
	    if (g_sm_btn_cancel != null){
	    	g_sm_btn_cancel.onclick = CloseSendMessage;
	    }
	    g_sm_btn_sent_message = document.getElementById("sm_btn_sent_message");
	    if(g_sm_btn_sent_message != null){
	    	g_sm_btn_sent_message.onclick = SM_SentMessage;
	    }
	}
	        
	 function window_prototype_get_event(){
		 var func = arguments.callee.caller; 
		 var evt; 
		 while(func != null){
		  evt = func.arguments[0]; 
		  if(evt && (evt.constructor == Event || evt.constructor == MouseEvent)) return evt; 
		  func = func.caller; 
		 } 
		 return null; 
	}  
  	function CloseWindow(v_window_id) {
		var window_div = document.getElementById(v_window_id);
	    if(window_div != null){
			window_div.style.visibility = "hidden";
		}
		if ("popup_addfriend" == v_window_id){
			ClearAddFriendData();
		}
		if ("popup_send_message" == v_window_id){
			ClearSendMessageData();
		}		
	}
  	function CloseAddFriend() {
		CloseWindow("popup_addfriend");		
	}
  	function CloseSendMessage() {
		CloseWindow("popup_send_message");		
	}	
 	function ClearAddFriendData() {
		g_ad_message_txetarea.value = "";
		var popup_addfriend_error_div = document.getElementById("popup_addfriend_error");
		if(popup_addfriend_error_div != null){
			popup_addfriend_error_div.innerHTML = "";
		}		
	}
  	function ClearSendMessageData() {
		g_sm_message_txetarea.value = "";
		g_sm_message_input.value = "";
		var popup_sendmessage_error_div = document.getElementById("popup_sendmessage_error");
		if(popup_sendmessage_error_div != null){ 
			popup_sendmessage_error_div.innerHTML = "";		
		}
	}
	function OpenWindow(v_window_id) {
 		if(_curX == 0 || _curY == 0){
		    if(IE==true){
		      	_getCursor(event);
		    } else {  
				try {
				window.constructor.prototype.__defineGetter__("event", window_prototype_get_event);
				}catch(e) {alert(e);}
				_curX = event.pageX;
				_curY = event.pageY; 
		    }
	    }
	    var window_div = document.getElementById(v_window_id);
	    if(window_div != null){
			window_div.style.visibility = "visible";
			if(IE==true){
				window_div.style.left = (_curX + 150) + "px";
				window_div.style.top = (_curY - 305) + "px";
			}else{
				window_div.style.left = (_curX + 150) + "px";
				window_div.style.top = (_curY - 350) + "px";			
			}
		}
	}
 	function AD_SentMessage(){
 		_createXMLHttpRequest();
 		var friend_id = document.getElementById("friend_id").value;
		var user_id = document.getElementById("user_id").value;
		var message_content = document.getElementById("ad_message_content").value;
		var popup_addfriend_error_div = document.getElementById("popup_addfriend_error");
		
		if (message_content.Trim().len() == 0){
		  document.getElementById("popup_err_info").innerHTML = "消息内容不能为空，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_addfriend_error_div.innerHTML = html_info;			
			return;
		}
		if (message_content.Trim().len() > 40){	
		  document.getElementById("popup_err_info").innerHTML = "消息内容不能超过20汉字，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_addfriend_error_div.innerHTML = html_info;
			return;
		}
		message_content = message_content.replace(/%/ig, "__pct__").replace(/&/ig, "__and__");

		var para = "user_id="+ user_id 
				+"&friend_id="+ friend_id 
				+"&message_content="+ message_content+"&addType="+addType;
				+"&t="+new Date().getTime();
		var url = "/addFriend.do";
    	_xmlHttp.open("POST", url, true);
    	_xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
    	_xmlHttp.onreadystatechange = AD_callback;
    	_xmlHttp.send(para);		
		//g_ad_btn_sent_message.disabled = false;
		CloseWindow('popup_addfriend');
	}
	//回调，提交是否成功
	function AD_callback(){
		if (_xmlHttp.readyState == 4){
		    if (_xmlHttp.status == 200){
				var flag = _xmlHttp.responseXML.getElementsByTagName("flag")[0].firstChild.data;
				if(flag=="false"){
					//CloseWindow('popup_addfriend');
					OpenWindow('popup_addfriend_failure'); 		      
				}else if(flag=="friend"){
					//CloseWindow('popup_addfriend');
					location.reload();		
				}else {
					//CloseWindow('popup_addfriend');
					OpenWindow('popup_addfriend_succeed'); 		
				}
			}
		}
	}
	
	function SM_SentMessage(){
 		_createXMLHttpRequest();
		var friend_nick = document.getElementById("friend_nick").value;
		friend_nick = friend_nick.replace(/%/ig, "__pct__").replace(/&/ig, "__and__");
		var friend_id = document.getElementById("friend_id").value;
		var popup_sendmessage_error_div = document.getElementById("popup_sendmessage_error");
		
		var message_title = document.getElementById("sm_message_title").value.Trim();
		if (message_title.len() == 0){		
		  document.getElementById("popup_err_info").innerHTML = "消息标题不能为空，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_sendmessage_error_div.innerHTML = html_info;	
			return;
		}
		if (message_title.len() > 60){		
		  document.getElementById("popup_err_info").innerHTML = "消息标题不能超过30汉字，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_sendmessage_error_div.innerHTML = html_info;	
			return;
		}
		message_title = message_title.replace(/%/ig, "__pct__").replace(/&/ig, "__and__");
					
		var message_content = document.getElementById("sm_message_content").value.Trim();
		if (message_content.len() == 0){		
		  document.getElementById("popup_err_info").innerHTML = "消息内容不能为空，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_sendmessage_error_div.innerHTML = html_info;		
			return;
		}
		if (message_content.len() > 1000){
		  document.getElementById("popup_err_info").innerHTML = "消息内容不能超过500汉字，请重新输入！";
		  var html_info = document.getElementById("popup_err").innerHTML;
		  popup_sendmessage_error_div.innerHTML = html_info;		
			return;
		}
		message_content = message_content.replace(/%/ig, "__pct__").replace(/&/ig, "__and__");

		var para = "friend_nick="+ friend_nick 
				+"&friend_id="+ friend_id
				+"&message_title="+ message_title
				+"&message_content="+ message_content
				+"&t="+new Date().getTime();
		var url = "/sentMessage.do";
    	_xmlHttp.open("POST", url, true);
    	_xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
    	_xmlHttp.onreadystatechange = SM_callback;
    	_xmlHttp.send(para);			
		//g_sm_btn_sent_message.disabled = false;
		CloseWindow('popup_send_message');
	}
	//回调，提交是否成功
	function SM_callback(){
		if (_xmlHttp.readyState == 4){
		    if (_xmlHttp.status == 200){
				var flag = _xmlHttp.responseXML.getElementsByTagName("flag")[0].firstChild.data;			
				if(flag=="false"){
					//CloseWindow('popup_send_message');
					OpenWindow('popup_sendmessage_failure');     
				}else {
					//CloseWindow('popup_send_message');				
					OpenWindow('popup_sendmessage_succeed'); 	
				}
			}
		}
	}	

	function gotoLogout(){
		//var url='/logout.do';
		//openURL(url);
		window.open("http://www.hudong.com/user/logout/userLogout.jsp", "_self");		
	}
	function gotoLogin(){
		var url='/user/login/userLogin.jsp';
		openURL(url);
	}
	function openURL(v_url){
		var nextAction = document.getElementById('action_name').value;
		var user_id = document.getElementById('friend_id').value;
		if (user_id == null || user_id.Trim().length == 0 || nextAction == null || nextAction.Trim().length == 0){
			window.open(v_url, "_self");
		}
		var next_url = "";
		var seoSwitch = document.getElementById('seo_switch').value;
		var userurl = document.getElementById('userurl').value;
		switch (nextAction) {
		   case "UserInfoAction" :
		   case "UserInfoEditAction" :
		       //next_url = seoSwitch==0?"?next_url=/userinfo.do?userid=":"?next_url=/u/userinfo/";
				if (seoSwitch == 0){
					next_url = "?next_url=/userspaceindex.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id+"/persnalindex";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl+"/persnalindex";
				}
		       break;
		   case "UserCreatedDocsAction" :
		       //next_url = seoSwitch==0?"?next_url=/usercreateddocs.do?userid=":"?next_url=/u/usercreateddocs/";
				if (seoSwitch == 0){
					next_url = "?next_url=/usercreateddocs.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/created";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/created"
				}		       
		       break;
		   case "UserCooperatDocsAction" :
		       //next_url = seoSwitch==0?"?next_url=/usercooperatdocs.do?userid=":"?next_url=/u/usercooperatdocs/";
				if (seoSwitch == 0){
					next_url = "?next_url=/usercooperatdocs.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "http://wiki.hudong.com/u/" + user_id + "/edit";
				}else{
					next_url = "http://wiki.hudong.com/" + userurl + "/edit"
				}			       
		       break;
		   case "UserFavoriteDocsAction" :
		       //next_url = seoSwitch==0?"?next_url=/userfavoritedocs.do?userid=":"?next_url=/u/userfavoritedocs/";
				if (seoSwitch == 0){
					next_url = "?next_url=/userfavoritedocs.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/favorites";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/favorites"
				}			       
		       break;
		   case "UserModifyDocsAction" :
		       //next_url = seoSwitch==0?"?next_url=/usermodifydocs.do?userid=":"?next_url=/u/usermodifydocs/";
				if (seoSwitch == 0){
					next_url = "?next_url=/usermodifydocs.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/cooperation";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/cooperation"
				}			       
		       break;
		   case "UserFriendsAction" :
		       //next_url = seoSwitch==0?"?next_url=/userfriends.do?userid=":"?next_url=/u/userfriends/";
				if (seoSwitch == 0){
					next_url = "?next_url=/userfriends.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/friends";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/friends"
				}			       
		       break;
		   case "UserMessagesAction" :
		       //next_url = seoSwitch==0?"?next_url=/usermessages.do?userid=":"?next_url=/u/usermessages/";
				if (seoSwitch == 0){
					next_url = "?next_url=/usermessages.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/comments";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/comments"
				}			       
		       break;
		   case "UserChatsAction" :
		       //next_url = seoSwitch==0?"?next_url=/userchats.do?userid=":"?next_url=/u/userchats/";
				if (seoSwitch == 0){
					next_url = "?next_url=/userchats.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/posts";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/posts"
				}			       
		       break;	
		   case "UserGroupsAction" :
		       //next_url = seoSwitch==0?"?next_url=/usergroups.do?userid=":"?next_url=/u/userchats/";
				if (seoSwitch == 0){
					next_url = "?next_url=/usergroups.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/groups";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/groups"
				}			       
		       break;			       
		   case "WikiNoteDocsAction" :
		       //next_url = seoSwitch==0?"?next_url=/wikinotedocs.do?userid=":"?next_url=/u/wikinotedocs/";
				if (seoSwitch == 0){
					next_url = "?next_url=/wikinotedocs.do?userid=" + user_id + "&userurl=" + userurl;
				}else if (userurl == ""){
					next_url = "?next_url=http://wiki.hudong.com/u/" + user_id + "/wikinotedocs";
				}else{
					next_url = "?next_url=http://wiki.hudong.com/" + userurl + "/wikinotedocs"
				}			       
		       break;		       		       	       
		   default :
		       next_url = "";
		}
		//v_url = v_url + next_url;
		v_url = seoSwitch==0?v_url:"http://www.hudong.com"+v_url;
		var date=new Date();
		date.setTime(date.getTime()+24*3600*1000);
		var u=next_url.substring(10,next_url.length);
		document.cookie="nextURL="+u+";expire="+date.toGMTString()+";path=/;domain=.hudong.com;";
		window.open(v_url, "_self");
	}
	
	String.prototype.len = function() {
		var cArr = this.match(/[^x00-xff]/ig);
		return this.length + (cArr == null ? 0 : cArr.length); 
	}
	
	function _getCursor(){
		var e;
		if(IE){
			e=window.event;
		}else{
			e=arguments[0];
		}
		if(e.pageX||e.pageY){
			_curX=e.pageX;
			_curY=e.pageY;
		}else{
			if(e.clientX||e.clientY){
				if (document.body.scrollTop > document.documentElement.scrollTop) {
					_curY = e.clientY + document.body.scrollTop;
				} else {
					_curY = e.clientY + document.documentElement.scrollTop;
				}
				if (document.body.scrollLeft > document.documentElement.scrollLeft) {
					_curX = e.clientX + document.body.scrollLeft+10;
				} else {
					_curX = e.clientX + document.documentElement.scrollLeft+10;
				}
			}
		}
	}
	
	function removeComment(v_cmt_id){
		if(confirm("是否真的删除该条留言?")){
		g_user_cmt_id = v_cmt_id;
		_createXMLHttpRequest();
		var url = "/ajaxRemoveCmt.do?user_comment_id="+ v_cmt_id; 
		_xmlHttp.open("POST", url, true);
		_xmlHttp.onreadystatechange = RC_callback;
		_xmlHttp.send(null);
		}
	}	
	//回调，删除是否成功
	function RC_callback(){
		if (_xmlHttp.readyState == 4){
		    if (_xmlHttp.status == 200){
				var flag = _xmlHttp.responseXML.getElementsByTagName("flag")[0].firstChild.data; 
				switch (flag) {//-1 url 非法，0 用户权限不够，1 失败，2 成功　
			   		case "-1" :
			   		alert("提交url非法！");
			   		break;
			   		case "0" :
			   		alert("用户权限不够！");
			   		break;
			   		case "1" :
			   		alert("删除失败！");
			   		break;
			   		case "2" :
			   		var divCmt = document.getElementById('cmt_' + g_user_cmt_id);
			   		if (divCmt != null){
			   			//divCmt.innerHTML = "";
			   			var divp = divCmt.parentNode;
			   			var divpp = divp.parentNode;
			   			divpp.removeChild(divp);
			   		}
			   		break;		
			   		default :   				   		
		   		}
		   		location.reload();
			}
		}
	}
	var position,useriden;
	function removeUserComment(comment_position,user_iden,v_cmt_id){
		if(confirm("是否真的删除该条留言?")){
		position=comment_position;
		useriden=user_iden;
		g_user_cmt_id = v_cmt_id;
		_createXMLHttpRequest();
		var url = "/ajaxRemoveCmt.do?user_comment_id="+ v_cmt_id; 
		_xmlHttp.open("POST", url, true);
		_xmlHttp.onreadystatechange = comment_callback;
		_xmlHttp.send(null);
		}
	}	
	//回调，删除是否成功
	function comment_callback(){
		if (_xmlHttp.readyState == 4){
		    if (_xmlHttp.status == 200){
				var flag = _xmlHttp.responseXML.getElementsByTagName("flag")[0].firstChild.data; 
				switch (flag) {//-1 url 非法，0 用户权限不够，1 失败，2 成功　
			   		case "-1" :
			   		alert("提交url非法！");
			   		break;
			   		case "0" :
			   		alert("用户权限不够！");
			   		break;
			   		case "1" :
			   		alert("删除失败！");
			   		break;
			   		case "2" :
			   		var divCmt = document.getElementById('cmt_' + g_user_cmt_id);
			   		if (divCmt != null){
			   			//divCmt.innerHTML = "";
			   			var divp = divCmt.parentNode;
			   			var divpp = divp.parentNode;
			   			divpp.removeChild(divp);
			   		}
			   		break;		
			   		default :   				   		
		   		}
		   		loadMessagesInfo(position,useriden);
			}
		}
	}
	
	function OpenExpertWindow(v_window_id,_curX,_curY) {
	    var window_div = document.getElementById(v_window_id);
	    if(window_div != null){
			window_div.style.visibility = "visible";
			if(IE==true){
				window_div.style.left = (_curX + 150) + "px";
				window_div.style.top = (_curY - 305) + "px";
			}else{
				window_div.style.left = (_curX + 150) + "px";
				window_div.style.top = (_curY - 350) + "px";			
			}
		}
	}
	//判断是否专家从别的页面点击加好友过来的
	function checkExpertClick(type){
		if(type==1){//专家添加新注册用户
			_curX=106;
		 	_curY=531;
		 	//修改添加好友类型为1,表示为专家添加新注册用于
		 	addType=1;
			OpenExpertWindow('popup_addfriend',_curX,_curY);
			}
		}