//ajax 控制項
function DiggAjax(){
var xhrObj=null;
if(window.XMLHttpRequest){
xhrObj=new XMLHttpRequest();
}
else if(window.ActiveXObject){
try{
xhrObj=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e1)
{
try{
xhrObj=new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e2){
try{
xhrObj=new ActiveXObject("MSXML3.XMLHTTP");
}
catch(e3){
alert("建立Ajax失敗:"+e3)
}
}
}
}
else
{
alert("未能識別的瀏覽器");
}
return xhrObj;
}
var loader=new DiggAjax;
function ajaxLoadPage(url,request,method,fun)
{
method=method.toUpperCase();
if (method=='GET')
{
urls=url.split("?");
if (urls[1]=='' || typeof urls[1]=='undefined')
{
url=urls[0]+"?"+request;
}
else
{
url=urls[0]+"?"+urls[1]+"&"+request;
}
request=null;
}
loader.open(method,url,true);
if (method=="POST")
{
loader.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
loader.onreadystatechange=function(){
eval(fun+'()');
}
loader.send(request);
}
function callbacks()
{
if (loader.readyState==4)
{
var s=loader.responseText;
switch (s)
{
case "err":
alert('digg error!');
break;
case "over":
alert('你已推薦過了!');
break;
case "nologin":
alert('您還沒有登入,不能推薦!');
break;
default:
var sarr=s.split('|');
eval("document.all.s"+sarr[0]).innerHTML=sarr[1];
eval("document.all.d"+sarr[0]).innerHTML="Thanks";
}
}
}
//Digg
function digg(channelid,infoid,installdir)
{
ajaxLoadPage(installdir+'plus/digg.asp','action=hits&ChannelID='+channelid+'&infoid=' +infoid,'post','callbacks');
}
function show_digg(channelid,infoid,installdir)
{
var xhr=new DiggAjax();
xhr.open("get",installdir+"plus/digg.asp?channelid="+channelid+"&infoid="+infoid+"&action=show",true);
xhr.onreadystatechange=function (){
if(xhr.readyState==1)
{
eval("document.all.s"+infoid).innerHTML="<img src='"+installdir+"images/loading.gif'>";
}
else if(xhr.readyState==2 || xhr.readyState==3)
{
eval("document.all.s"+infoid).innerHTML="<img src='"+installdir+"images/loading.gif'>";
}
else if(xhr.readyState==4)
{
if (xhr.status==200)
{
var r=xhr.responseText
var rarr=r.split('|');
eval("document.all.s"+infoid).innerHTML=rarr[1];
}
}
}
xhr.send(null);
}