/*
 *--------------------------------------------------------------------
 *
 *创建一个XMLHttp实例
 *return object 成功创建返回一个XMLHttp对象实例,否则返回false
 *
 *--------------------------------------------------------------------
 */
function CreateAjax()
{
var XMLHttp;
try
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");   //IE的创建方式
}
catch(e)
{
try
{
XMLHttp = new XMLHttpRequest();     //FF等浏览器的创建方式
}
catch(e)
{
XMLHttp = false;        //创建失败，返回false
}
}
return XMLHttp;     //返回XMLHttp实例
}
/*
*-------------------------------------------------------------------------
 *
 *函数名:error(id)
 *功能:报错
 *参数:id
 *      1、id:网址的id
 *
 *-------------------------------------------------------------------------
 */
function error(id)
{
_xmlhttp = CreateAjax();
var url = 'error.asp?id='+id+'&n='+Math.random()+''; //这里添加了一个参数n,表示为一个随机数，以避免浏览器缓存
if(_xmlhttp)    //判断XmlHttp是否创建成功
{
var content = document.getElementById("error"+id);      
var error = document.getElementById(id);		//获取页面中ID为文章Id的节点
_xmlhttp.open('GET',url,true);
_xmlhttp.onreadystatechange=function()
{
if(_xmlhttp.readyState == 4)        //客户端完成请求
{
if(_xmlhttp.status == 200)      //服务端完成处理并返回数据
{
var ResponseText = unescape(_xmlhttp.responseText);			//获取service的显示字符
var r=ResponseText.split(",");			//如果已经投票、service会显示error,投票数，这里分割字符用于显示错误和重置计数
if(r[0] == "error" )   //service返回了错误信息
{
alert("您已经报错过了！");
error.innerHTML=r[1];
}
//没有找到网址
else if(ResponseText == "NoData")
{
alert("参数错误！");	
}
else
{
//服务器返回了成功，重置投票数
error.innerHTML=ResponseText;
alert("报错成功，谢谢你的支持！"); //将投一票改成查看文章的按钮
}
}
else    //服务器出现异常
{
alert("服务器返回异常！");
top.location.href='/';
}
}
else    //请求未完成时的提示信息
{
error.innerHTML='<img src="/images/load.gif" align=absMiddle>';
}
}
_xmlhttp.send(null);  //向服务器发送请求，因为是get请求，会直接附在URL后面，所以这里括号中的数据为null，IE中也可以不写，但FF就必须加上null，否则会发送失败。
}
else    //创建未成功
{
alert("您的浏览器不支持或未启用 XMLHttp!");
}
}