var MAXLEN=300;
var B_TAG = "{{原帖开始}}";
var E_TAG="{{原帖结束}}";
var SEPA_TAG="||";
var PARAM_TAG="==";
var reply_flag=0;

var cmnt_content;
var user;
var ip;
var datetime;

var origin_user="user undefined";
var origin_ip="ip undefined";
var origin_datetime="datetime undefined";
var origin_content="content undefined";

function getCookieVal( offset ){
	var endstr = document.cookie.indexOf( ";", offset );
	if( endstr == -1 )
		endstr = document.cookie.length;
	return unescape( document.cookie.substring(offset, endstr) );
}

function GetCookie( name ){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while( i < clen )	{
		var j = i + alen;
		if( document.cookie.substring(i,j) == arg )
			return getCookieVal( j );
		i = document.cookie.indexOf(" ",i) + 1;
		if( i == 0 )
			break;
	}
	return null;
}

//过滤空格及字符
function purify(str){	
	var sep1=/\s/gi;		
	var sep2=/[~!@#$%^&*()_+><":,.;'={}\[\]\?\|\\\/-]/gi;	
	var sep3=/[～｀！＠＃＄％＾＆＊（）　＿＋｜－＝＼｛｝］［：＂＇；？＞＜，．～｀！·＃￥％……—＊…（）——＋—－—＝—｜｛—｝—［—］—：“‘；？》《，。、／]/gi;	//过滤全角字符
	//var sep4=/\d+/gi;	  //过滤数字
	str=str.replace(sep1,"");		
	str=str.replace(sep2,"");					
	str=str.replace(sep3,"");	
	//str=str.replace(sep4,"")	
	//alert(str);
	return str;
	
	}
//关键字检查
function  check_key(cmnt){			
	cmnt=purify(cmnt);	
	if(cmnt.search(key)!=-1)
	{
		return -1;
	}
	return 0;
}

//检查是否重复发言
function  check_repeat(cmnt){		
	
	cmnt=purify(cmnt);	
	var old_cmnt="";
	var cookieString = document.cookie ;	
	//以下用来拆分形如:history=a|b|c|d的cookie字符串;
	var cookieHeader = "cmnt_history=" ;
	var beginPosition = cookieString.indexOf(cookieHeader) ;			
	if (beginPosition != -1)
	{ 
		var endPosition = cookieString.indexOf(";",beginPosition) ;
		if(endPosition==-1)endPosition = cookieString.length;		
		cookieString=cookieString.substring(beginPosition,endPosition);		
		var beginPosition = cookieString.indexOf(cookieHeader)+ cookieHeader.length ;										
		endPosition = cookieString.indexOf("|") ;															
		while (endPosition != -1)
		{
			escape(old_cmnt=cookieString.substring(beginPosition,endPosition) );														
			if(cmnt==old_cmnt)
			{
				return -1;			
			}
			beginPosition=endPosition+1
			endPosition = cookieString.indexOf("|",beginPosition) ;											
		}
		escape(old_cmnt= cookieString.substring(beginPosition,cookieString.length));	
		if(cmnt==old_cmnt)
		{
			return -1;			
		}		

		document.cookie =cookieString+"|"+cmnt;							
	}	
	else
	{
		document.cookie = cookieHeader+cmnt;
	}		
	return 0;
	 
	
}

function autofill(){
	var nickname = GetCookie( "nick" );
	
	if ( nickname!="" && nickname!="null" && nickname!=null && nickname!="undefined" )	{
		var pos = nickname.indexOf( "(" );
		if ( pos != -1 )		{
			nickname = nickname.substr( 0, pos );
		}
		
		myform.user.value = nickname;
		myform.password.value = "**************";
	}
}

function reply(id){			
	reply_flag=1;		
	var keyword1 = /\<BR\>/gi;	
	var othersid="others_"+id;	
	var cmntid = "cmnt_"+id;
	var userid = "user_"+id;
	var ipid = "ip_"+id;
	var datetimeid = "datetime_"+id;
					
	//根据标记读取,并去掉标记	
	///////////var temp_others = document.getElementById(othersid).innerHTML;		
	//////////var temp_user=temp_others;
	var temp_user = document.getElementById(userid).innerHTML;	
	
	if( navigator.appName == "Netscape" ){
		var user_tag_b = "<user>";
		var user_tag_e = "</user>";
	}else{
		var user_tag_b = "<USER>";
		var user_tag_e = "</USER>";
	}
	var user_pos_b =temp_user.indexOf(user_tag_b)+user_tag_b.length;
	var user_pos_e =temp_user.indexOf(user_tag_e);
	if ( user_pos_b!=-1 && user_pos_e!=-1 )
		user =temp_user.substring(user_pos_b,user_pos_e);
	else
		user = "";
	
	/////////////var temp_user=temp_others;
	var temp_ip = document.getElementById(ipid).innerHTML;			
	if( navigator.appName == "Netscape" ){
		var ip_tag_b = "<ip>";
		var ip_tag_e = "</ip>";
	}else{
		var ip_tag_b = "<IP>";
		var ip_tag_e = "</IP>";
	}
	var ip_pos_b =temp_ip.indexOf(ip_tag_b)+ip_tag_b.length;
	var ip_pos_e =temp_ip.indexOf(ip_tag_e);
	if (ip_pos_b!=-1 && ip_pos_e!=-1)
		ip =temp_ip.substring(ip_pos_b,ip_pos_e);
	else
		ip = "";
	
	//////////var temp_datetime=temp_others;
	var temp_datetime = document.getElementById(datetimeid).innerHTML;	
	if( navigator.appName == "Netscape" ){
		var datetime_tag_b = "<datetime>";
		var datetime_tag_e = "</datetime>";
	}else{
		var datetime_tag_b = "<DATETIME>";
		var datetime_tag_e = "</DATETIME>";
	}
	var datetime_pos_b =temp_datetime.indexOf(datetime_tag_b)+datetime_tag_b.length;
	var datetime_pos_e =temp_datetime.indexOf(datetime_tag_e);
	if(datetime_pos_b!=-1 && datetime_pos_e!=-1)
		datetime =temp_datetime.substring(datetime_pos_b,datetime_pos_e);
	else
		datetime="";
	
	//回复时去掉冗余内容,只取出所回复帖的内容.	
	//////////var temp_datetime=temp_others;
	var temp_content = document.getElementById(cmntid).innerHTML;	
	
	if( navigator.appName == "Netscape" ){
		var content_tag_b = "<content>";
		var content_tag_e = "</content>";
	}else{
		var content_tag_b = "<CONTENT>";
		var content_tag_e = "</CONTENT>";
	}
	var content_pos_b =temp_content.indexOf(content_tag_b)+content_tag_b.length;
	var content_pos_e =temp_content.indexOf(content_tag_e);
	
	if(content_pos_b!=-1 && content_pos_e!=-1)	
		cmnt_content =temp_content.substring(content_pos_b,content_pos_e);
	else
		cmnt_content = "";
	//去掉关键字
	cmnt_content=cmnt_content.replace(keyword1,"");	
	if(cmnt_content.length>MAXLEN){
		cmnt_content=cmnt_content.substr(0,MAXLEN)+"……";
	}		
}

function mysubmit(){
	document.myform.temp_content.disable=true;
	var reply_tag_b=B_TAG;
	var reply_tag_e=E_TAG;	
	if (document.myform.temp_content.value!=""){	
		var old_content=document.myform.temp_content.value;			
		var pos_b=old_content.indexOf(reply_tag_b);					
		var pos_e=old_content.indexOf(reply_tag_e);					
		//合法性检查
		//alert(old_content);
/*
		if(check_key(old_content)==-1)
		{
			alert("您的发言中包含了不恰当的内容,请重新输入");
			window.location.reload();
			return false;
		}				
*/
		if(check_repeat(old_content)==-1)
		{
			alert("请勿重复发言");
			window.location.reload();
			return false;
		}
		if(pos_b!=-1 || pos_e!=-1){
			alert("您的发言中包含关键字,请重新输入")
			window.location.reload();
			return false;			
		}		
		//拼凑数据格式				
		if(reply_flag==1){       
			var new_content=old_content
			+ B_TAG + SEPA_TAG
			+ "user==" + user + SEPA_TAG
			+ "ip==" + ip + SEPA_TAG
			+ "datetime=="+ datetime + SEPA_TAG 
			+ "content=="+ cmnt_content + SEPA_TAG 
			+ E_TAG ;
			document.myform.content.value=new_content;
		}else{
			document.myform.content.value=old_content;
		}
	reply_flag=0;	
	}
	document.myform.submit();
	return true;
}

function split(origin)
{		
	var sepa_tag=SEPA_TAG;
	var param_tag=PARAM_TAG;	
	var html_tag="<";
	var keyword1 = /\<BR\>/gi;		
	var keyword2 = /\&amp;/gi;
	
	//alert(origin);
	origin=origin.replace(keyword1,"");							
	origin=origin.replace(keyword2,"\&");						
	//alert(origin);
	var leave=origin;	
	if(leave.indexOf(sepa_tag)==-1){
		return -1;
	}
	var i=0;
	while(leave.indexOf(sepa_tag)!=-1){	
		i++;
		if(i>8)return -1;	
		var sepa_pos=leave.indexOf(sepa_tag);		
		param_tag=PARAM_TAG; 					
		var param_pos=leave.indexOf(param_tag);
		if(param_pos!=-1)
		{				
			var param_name=leave.substring( sepa_pos+ sepa_tag.length, param_pos);			
			var next_pos=leave.indexOf(sepa_tag,sepa_tag.length);			
			var param=leave.substring(param_pos+param_tag.length,next_pos);							
			if(param_name=="USER" || param_name=="user"){								
				if(param.length>32 || param.indexOf(html_tag)!=-1){									
					return -1;
				}	
				origin_user=param;		
			}
					
			if(param_name=="IP" ||param_name=="ip"){				
				if(param.length>15 || param.indexOf(html_tag)!=-1){						
					return -1;
				}	
				origin_ip=param;			
			}
			if(param_name=="DATETIME" ||param_name=="datetime"){				
				if(param.length>19 || param.indexOf(html_tag)!=-1){									
					return -1;
				}	
				origin_datetime=param;
			}
			
			//当参数为content时,取剩下全部内容,并退出.
			if(param_name=="content"){											
				param=leave.substring(param_pos+param_tag.length,leave.length-sepa_tag.length);
				origin_content=param;										
				leave="";
				break;
			}
			leave=leave.substring(next_pos,leave.length);												
		}		
	}
	return 0;
}

function show_reply(id)
{	
	origin_user="";
	origin_ip="";
	origin_datetime="";
	origin_content="";
	var new_content="";
	var reply_content="";
	var reply_tag_b = B_TAG;
	var reply_tag_e=E_TAG;
	var separate_tag=SEPA_TAG;
	var reply_end_tag =E_TAG;
	var cmntid="cmnt_"+id;
	var replyid="reply_"+id;
	var whole = document.getElementById(cmntid).innerHTML;	
	//alert(whole);
	var pos = whole.indexOf(reply_tag_b);	
	if ( pos != -1 ){	
		var new_reply= whole.substr( 0, pos);		
		var pos_end = whole.indexOf(reply_tag_e);		
		var origin=whole.substring( pos + reply_tag_b.length, pos_end);						
		if( split(origin)==-1){				
			var errormsg="bad data!!";
			new_content ="<table width=96% border=0 cellpadding=0 cellspacing=0>" 
				+"<tr><td class=l17><content>"+new_reply+"</content> </td></tr>"
				+"</table>";						
		}
		else{		
			new_content ="<table width=96% border=0 cellpadding=0 cellspacing=0>" 				 
				+"<tr><td class=l17 align=left><content>" + new_reply + "</content> </td></tr>"								
				+"</table>";
						
			reply_content = "<table width=99.7% border=0 cellpadding=0 cellspacing=0>" 				 
				+"<tr  height=2 ><td></td></tr>" 
				+"<tr height=5 bgcolor=#EFF7FF ><td colspan=3></td></tr>" 
				+"<tr bgcolor=#EFF7FF><td width=28></td> " 
					+"<td width=50><font color=blue >【原帖】</font></td><td>"					
				 	+ origin_datetime +"  "
				 	+ origin_user +"  "
				 	+ "IP:" +origin_ip
					+"</td></tr>"
				+"<tr valign=top height=20 bgcolor=#EFF7FF align=left>" 
				+"<td width=28></td><td width=50><td>" + origin_content + "</td></tr>" 			
				+"<tr height=10 bgcolor=#EFF7FF ><td colspan=3></td></tr>" 
				+"</table>";														
		}
	}
	else{
		new_content ="<table width=96% border=0 cellpadding=0 cellspacing=0>" 
				+"<tr><td class=l17><content>"+whole+"</content> </td></tr>"
				+"</table>";						
	}
	document.getElementById(replyid).innerHTML = reply_content;							
	document.getElementById(cmntid).innerHTML = new_content;
}

function quick_reply(content,id){
	
	if(document.myform.password.value =="")
	{
		document.myform.anonymous.checked = true;	
	}
		
	document.myform.temp_content.value = content;	
	reply(id);	
	mysubmit();	
	
}