var http_request=false;
var wancheng=false;

function send_request(url){//GET发送请求函数
	createXMLHttpRequest();
	http_request.onreadystatechange=processrequest;
	http_request.open("GET",url,true);
	http_request.send(null);
}

function send_requestno(url){//GET同步ajax发送请求函数
	createXMLHttpRequest();
	http_request.onreadystatechange=processrequest;
	http_request.open("GET",url,false);
	http_request.send(null);
}

function send_post(url,param){//POST发送请求函数
	createXMLHttpRequest();
	http_request.open("POST",url,true);
	http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	http_request.onreadystatechange = processrequest;
	http_request.send(param);
}

function createXMLHttpRequest(){//开始初始化XMLHttpRequest对象	
	if(window.XMLHttpRequest){//Mozilla浏览器
		http_request=new XMLHttpRequest();
		if(http_request.overrideMimeType){//设置MIME类别
			//http_request.overrideMimeType("text/xml/html");//注释掉解决未组织好错误
		}
	}
	else if(window.ActiveXObject){//IE浏览器
		try{
			http_request=new ActiveXObject("Msxml2.XMLHttp");
		}catch(e){
			try{
				http_request=new ActiveXobject("Microsoft.XMLHttp");
			}catch(e){}
		}
	}
	if(!http_request){//异常，创建对象实例失败
		window.alert("创建XMLHttp对象失败！");
		return false;
	}
}

function processrequest(){//处理返回信息的函数
	if(http_request.readyState==4){//判断对象状态
		if(http_request.status==200){//信息已成功返回，开始处理信息
			if(reobj!=999){	
				document.getElementById(reobj).innerHTML=http_request.responseText;
			}else{
				eval(http_request.responseText);
			}
			wancheng=true;
		}
		else{//页面不正常
			//alert("您所请求的页面不正常！");
		}
	}
}
function rate(cid,rate,sutype,touid){
	var nowtime	= new Date().getTime();
	if(isUndefined(touid))touid=0;
	reobj=999;
	if(window.weburl)send_request(weburl+'/ajax/rate.php?cid='+cid+'&rate='+rate+'&sutype='+sutype+'&touid='+touid+'&time='+nowtime);
 	else send_request('ajax/rate.php?cid='+cid+'&rate='+rate+'&sutype='+sutype+'&touid='+touid+'&time='+nowtime);
}
function vote(cid,sutype,touid){
	var nowtime	= new Date().getTime();
	if(isUndefined(touid))touid=0;
	reobj=999;
	send_request('ajax/vote.php?cid='+cid+'&sutype='+sutype+'&touid='+touid+'&time='+nowtime);
}
function favo(cid,sutype,touid){
	var nowtime	= new Date().getTime();
	if(isUndefined(touid))touid=0;
	reobj=999;
	send_request('ajax/favo.php?cid='+cid+'&sutype='+sutype+'&touid='+touid+'&time='+nowtime);
}
function vote_favo(cid,sutype,touid){
	var nowtime	= new Date().getTime();
	if(isUndefined(touid))touid=0;
	reobj=999;
	send_request('ajax/vote_favo.php?cid='+cid+'&sutype='+sutype+'&touid='+touid+'&time='+nowtime);
}
function tag(cid,tid,sutype,endobj){
	var nowtime	= new Date().getTime();
	reobj=999;
	send_request('ajax/tag.php?cid='+cid+'&tid='+tid+'&sutype='+sutype+'&endobj='+endobj+'&time='+nowtime);
}
function digg(pid){
	var nowtime	= new Date().getTime();
	reobj=999;
	if(window.weburl) send_request(weburl+'/ajax/digg.php?pid='+pid+'&time='+nowtime);
	else send_request('ajax/digg.php?pid='+pid+'&time='+nowtime);
}
function bury(pid){
	var nowtime	= new Date().getTime();
	reobj=999;
	if(window.weburl) send_request(weburl+'/ajax/bury.php?pid='+pid+'&time='+nowtime);
	else send_request('ajax/bury.php?pid='+pid+'&time='+nowtime);
}
function nulllog(){
	var nowtime	= new Date().getTime();
	reobj=999;
	send_request('ajax/nulllog.php?time='+nowtime);
}
function checkfourm(plobj,id,sutype,robj,touid){
	if($('plan').disabled)return false;
	$('plan').disabled="disabled";
	$('plan').value="提 交 中";
	if(isUndefined(touid))touid=0;
	var f=$('comment');
	var posttid=checkbox(f.posttid);
	var posttag1 = '';
	var posttag2 = '';
	var posttag3 = '';
	var posttag4 = '';
	var postsubject = '';
	var postvote = 0;
	var postptype = f.postptype.value;
	if(postptype=='2'){
		var polltext = f.polltext.value;
		var pollt = f.pollt.value;
		polltext=polltext.replace(/\n/ig,"|");
	}else{
		var polltext = 0;
		var pollt = 0;
	}
	var postcontent = f.postcontent.value;
	if(f.posttag1) var posttag1 = f.posttag1.value;
	if(f.posttag2) var posttag2 = f.posttag2.value;
	if(f.posttag3) var posttag3 = f.posttag3.value;
	if(f.posttag4) var posttag4 = f.posttag4.value;
	if(f.postsubject) var postsubject = encodeURIComponent(escape(fstr(f.postsubject.value)));
	if(cstrlen(postcontent)<8||cstrlen(postcontent)>5000){
		alert('评论太短，请加长');
		f.postcontent.focus();
		$('plan').disabled="";
		$('plan').value="发表评论";
		return false;
	}
	if(cstrlen(postsubject)<3&&postptype>0){
		alert('标题太短，请加长');
		f.postsubject.focus();
		$('plan').disabled="";
		$('plan').value="发表评论";
		return false;
	}
	if(cstrlen(postcontent)<100&&postptype=='1'){
		alert('长评最少需100个字，请加长');
		f.postcontent.focus();
		$('plan').disabled="";
		$('plan').value="发表评论";
		return false;
	}
	if(cstrlen(polltext)<1&&postptype=='2'){
		alert('你没有填写投票选项');
		f.polltext.focus();
		$('plan').disabled="";
		$('plan').value="发表评论";
		return false;
	}
	if(pollt<1&&postptype=='2'){
		alert('投票期限不能为0');
		f.pollt.focus();
		$('plan').disabled="";
		$('plan').value="发表评论";
		return false;
	}
	postcontent = encodeURIComponent(escape(fstr(postcontent)));
	postcontent=postcontent.replace(/%250D%250A/ig,"<br>");
	postcontent=postcontent.replace(/%250A/ig,"<br>");
	if(polltext)polltext = encodeURIComponent(escape(fstr(polltext)));
	if(posttag1)posttag1 = encodeURIComponent(escape(fstr(posttag1)));
	if(posttag2)posttag2 = encodeURIComponent(escape(fstr(posttag2)));
	if(posttag3)posttag3 = encodeURIComponent(escape(fstr(posttag3)));
	if(posttag4)posttag4 = encodeURIComponent(escape(fstr(posttag4)));
	$('lengthlimit').innerHTML="<span class=s6>正在发送数据...</span>";
	var nowtime	= new Date().getTime();

	reobj=999;
	if(window.weburl)send_post(weburl+'/ajax/post.php','cid='+id+'&posttid='+posttid+'&posttag1='+posttag1+'&posttag2='+posttag2+'&posttag3='+posttag3+'&posttag4='+posttag4+'&postsubject='+postsubject+'&postptype='+postptype+'&polltext='+polltext+'&pollt='+pollt+'&nowtime='+nowtime+'&sutype='+sutype+'&postcontent='+postcontent+'&touid='+touid+'&robj='+robj+'&postobj='+plobj+postptype);
	else send_post('ajax/post.php','cid='+id+'&posttid='+posttid+'&posttag1='+posttag1+'&posttag2='+posttag2+'&posttag3='+posttag3+'&posttag4='+posttag4+'&postsubject='+postsubject+'&postptype='+postptype+'&polltext='+polltext+'&pollt='+pollt+'&nowtime='+nowtime+'&sutype='+sutype+'&postcontent='+postcontent+'&touid='+touid+'&robj='+robj+'&postobj='+plobj+postptype);
	return false;
}
function checkfast(plobj,id,sutype,robj){
	if($('plan').disabled)return false;
	$('plan').disabled="disabled";
	$('plan').value="提 交 中";
	var f=$('comment');
	var postcontent = f.postcontent.value;
	if(cstrlen(postcontent)<8||cstrlen(postcontent)>5000){
		alert('评论太短，请加长');
		f.postcontent.focus();
		return false;
	}
	postcontent = encodeURIComponent(escape(fstr(postcontent)));
	var fuid = f.fuid.value;
	postcontent=postcontent.replace(/%250D%250A/ig,"<br>");
	$('lengthlimit').innerHTML="<span class=s6>正在发送数据...</span>";
	var nowtime	= new Date().getTime();
	reobj=999;
	send_post('ajax/fastpost.php','cid='+id+'&nowtime='+nowtime+'&sutype='+sutype+'&fuid='+fuid+'&postcontent='+postcontent+'&robj='+robj+'&postobj='+plobj);
	return false;
}
function send_msg(url,robj){
	var nowtime	= new Date().getTime();
	if(robj){
		reobj = robj;
	}else{
		reobj=999;
	}
	send_request(url+'&time='+nowtime);
	return false;
}
function sendurl(url,obj){
	if(cstrlen($(obj).innerHTML)<55){
		$(obj).innerHTML="<img src='http://comic.emland.net/images/loading.gif'>";
		var nowtime=new Date().getTime();
		reobj=999;
		send_request(url+'&robj='+obj+'&time='+nowtime);
	}
	return false;
}
function fstr(s){//特殊字符过滤
	s = reall(s,"·","%A1%A4");
	s = reall(s,"§","%A1%EC");
	s = reall(s,"×","%A1%C1");
	s = reall(s,"¤","%A1%E8");
	s = reall(s,"¨","%A1%A7");
	s = reall(s,"±","%A1%C0");
	s = reall(s,"°","%A1%E3");
	return s;
}
function reall(s,str1,str2){//全部替换
	while(s.indexOf(str1)!=-1){
		s = s.replace(str1,str2);
	}
	return s;
}
/*ajax通用检查是否已登录，未登录则弹出框*/
function iflogin(){
	var nowtime	= new Date().getTime();
	reobj=999;
	send_requestno('ajax/iflogin.php?time='+nowtime);
}
/*ajax通用弹窗*/
function send_alert(url,width,height){
	iflogin();
	require_css('ajax/usertool.css');
	if(islogin){
		if(!IsElement('alertdiv')){
			newdiv('alertdiv',width,height);
		}else{  
			var div=$('alertdiv');
			div.parentNode.removeChild(div);
			closeWindow();
			newdiv('alertdiv',width,height);
		}
		send_msg(url,'alertdiv');
	}
}
function send_form(frmID,type){
	var frmID=document.getElementById(frmID); 
	var i,queryString = "", and = "";
	var item; 
	var itemValue;
	for(i=0;i<frmID.length;i++){
		item = frmID[i];
		if(item.name!=''){
			if( item.type == 'select-one'){
				itemValue = item.options[item.selectedIndex].value;
			}else if( item.type=='checkbox' || item.type=='radio'){
				if (item.checked == false){
					continue;    
				}
				itemValue = item.value;
			}else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image'){
				continue;
			}else{
				itemValue = item.value;
			}
			itemValue = escape(itemValue);
			queryString += and + item.name + '=' + itemValue;
			and="&";
		}
	}
	var ulrstr = frmID.action+'?'+queryString;
	send_alert(ulrstr);
}
function creatediv(idname,width,height){
	var newalert=document.createElement("div");//创建div
	newalert.id=idname;
	var styleStr="width:"+width+"px;height:"+height+"px;";
	newalert.style.cssText=styleStr;
	document.body.appendChild(newalert);
}
function newdiv(idname,width,height,top,left){
	openback();
	var newalert=document.createElement("div");//创建div
	if(!width)width="400px";
	if(!height)height="auto";
	if(!top)top=loadtopleft(width,'top');
	if(!left)left=loadtopleft(width,'left');
	newalert.id=idname;
	newalert.style.position="absolute";
	newalert.style.height=height;
	newalert.style.width=width;
	newalert.style.top=top;
	newalert.style.left=left;
	newalert.style.border="#ECF1F3 2px solid";
	newalert.style.fontSize="12px"
	newalert.style.lineHeight="25px"
	newalert.style.padding="5px"
	newalert.style.zIndex="100"
	newalert.style.visibility ="visible";
	newalert.style.background="#F9FAFB";
	var obj='<img src="images/close.gif" title="关闭" style="position:absolute;right:6px;top:5px;cursor:pointer;" id="closed" onmousedown="closeWindow();this.parentNode.style.display=\'none\'"/>';
	newalert.innerHTML=''+obj+'';
	newalert.innerHTML+="<div style=\'position:absolute; top:50%;\'>&nbsp;&nbsp;<img src='images/loading.gif'> 内容读取中，请稍候...</div>";
	document.body.appendChild(newalert);//把创建好的div插入到body节点后，否则newalert会处于游离状态，无法显示；
}
function closeWindow(){//关闭窗口
	var isIe=(document.all)?true:false;
	if(document.getElementById('back')!=null){   
		document.getElementById('back').parentNode.removeChild(document.getElementById('back'));   
	}   
	if(document.getElementById('mesWindow')!=null){   
		document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));   
	}   
	if(isIe){   
		setSelectState('');
	}
}
function setSelectState(state){//设置select的可见状态  
	var objl=document.getElementsByTagName('select');   
	for(var i=0;i<objl.length;i++)   
	{   
		objl[i].style.visibility=state;   
	}   
}
function loadtopleft(divwidth,divtype){//取得正中的top和left
	var ns=(document.layers);
	var ie=(document.all);
	var w3=(document.getElementById && !ie);
	if (ie){
		documentWidth  =ietruebody().offsetWidth/2+ietruebody().scrollLeft-20;
		documentHeight =ietruebody().offsetHeight/2+ietruebody().scrollTop-20;
	} else if (ns){
		documentWidth=window.innerWidth/2+window.pageXOffset-20;
		documentHeight=window.innerHeight/2+window.pageYOffset-20;
	} else if (w3){
		documentWidth=self.innerWidth/2+window.pageXOffset-20;
		documentHeight=self.innerHeight/2+window.pageYOffset-20;
	}
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;	

	var releft = (w-divwidth.toString().replace(/px/ig,""))/2+'px';
	var retop = documentHeight-(h/2)+172 + 'px';
	if(divtype=="left")return releft;
	if(divtype=="top")return retop;
}
function openback(){
	var isIe=(document.all)?true:false;
	if(isIe){   
		setSelectState('hidden');
	}
	var bWidth=parseInt(document.documentElement.scrollWidth);   
	var bHeight=parseInt(document.documentElement.scrollHeight);   
	var back=document.createElement("div");   
	back.id="back";   
	var styleStr="top:0px;left:0px;z-index:99;position:absolute;background:#666;width:"+bWidth+"px;height:"+bHeight+"px;";   
	styleStr+=(isIe)?"filter:alpha(opacity=40);":"opacity:0.40;";   
	back.style.cssText=styleStr;   
	document.body.appendChild(back);
}
function goto(url,time){
	setTimeout("javascript:location.href='"+url+"'", time);
}
function changefrom(){
	var nowtime	= new Date().getTime(); 
	reobj=999;
	send_request('ajax/changefrom.php?time='+nowtime);
}
