
var dtable="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function encodeBase64(src)
{var dest="";var igroup1,igroup2,igroup3;var ogroup1,ogroup2,ogroup3,ogroup4;var count=0;var i=0;igroup1="";igroup2="";igroup3="";ogroup1="";ogroup2="";ogroup3="";ogroup4="";while(count<src.length)
{i=0;if(count<src.length)
{i++;igroup1=src.charCodeAt(count++);}
if(count<src.length)
{i++;igroup2=src.charCodeAt(count++);}
if(count<src.length)
{i++;igroup3=src.charCodeAt(count++);}
ogroup1=igroup1>>2;ogroup2=((igroup1&3)<<4)|(igroup2>>4);ogroup3=((igroup2&15)<<2)|(igroup3>>6);ogroup4=igroup3&63;if(i<3)
{ogroup4=64;if(i<2)
{ogroup3=64;}}
dest=dest+dtable.charAt(ogroup1)+
dtable.charAt(ogroup2)+
dtable.charAt(ogroup3)+
dtable.charAt(ogroup4);igroup1="";igroup2="";igroup3="";ogroup1="";ogroup2="";ogroup3="";ogroup4="";}
return dest;}
function SchemeEncode(str,isU2A)
{if(isU2A)
{return"qqdl://"+encodeBase64(strUnicode2Ansi(str));}
else
{return"qqdl://"+encodeBase64(str);}}
var Msg1="%u5BF9%u4E0D%u8D77%uFF0C%u6B64%u94FE%u63A5%u9700%u8981%u5B89%u88C5QQ%u65CB%u98CE2.0%u4EE5%u4E0A%u7248%u672C%u624D%u80FD%u6B63%u5E38%u4E0B%u8F7D%uFF0C%u8BF7%u60A8%u786E%u8BA4%u662F%u5426%u8981%u4E0B%u8F7D%u5B89%u88C5%u3002";var Msg2="%u5bf9%u4e0d%u8d77%uff0c%u672c%u9875%u9762%u6682%u65f6%u53ea%u652f%u6301%u0049%u0045%u6216%u4f7f%u7528%u0049%u0045%u5185%u6838%u548c%u0046%u0069%u0072%u0065%u0046%u006f%u0078%u7b49%u76f8%u5173%u6d4f%u89c8%u5668%u3002";var Msg3="%u88ab%u0046%u0069%u0072%u0065%u0066%u006f%u0078%u6d4f%u89c8%u5668%u62d2%u7edd%u005c%u006e%u8bf7%u6309%u7167%u4e0b%u9762%u6b65%u9aa4%u89e3%u51b3%u8be5%u95ee%u9898%u005c%u006e%u0031%u0020%u5728%u0046%u0069%u0072%u0065%u0046%u006f%u0078%u6d4f%u89c8%u5668%u5730%u5740%u680f%u8f93%u5165%u0061%u0062%u006f%u0075%u0074%u003a%u0063%u006f%u006e%u0066%u0069%u0067%u5e76%u56de%u8f66%u005c%u006e%u7136%u540e%u5c06%u0073%u0069%u0067%u006e%u0065%u0064%u002e%u0061%u0070%u0070%u006c%u0065%u0074%u0073%u002e%u0063%u006f%u0064%u0065%u0062%u0061%u0073%u0065%u005f%u0070%u0072%u0069%u006e%u0063%u0069%u0070%u0061%u006c%u005f%u0073%u0075%u0070%u0070%u006f%u0072%u0074%u8bbe%u7f6e%u4e3a%u0074%u0072%u0075%u0065%u540e%u518d%u5237%u65b0%u9875%u9762%u005c%u006e%u0032%u0020%u5982%u679c%u6309%u7167%u0031%u6240%u5217%u4e3e%u6b65%u9aa4%u4e0d%u80fd%u89e3%u51b3%u95ee%u9898%u005c%u006e%u5219%u8fd8%u9700%u8981%u4f7f%u7528%u6587%u672c%u7f16%u8f91%u5668%u6253%u5f00%u6587%u4ef6%u5939%u003c%u7cfb%u7edf%u76d8%u7b26%u003a%u005c%u0044%u006f%u0063%u0075%u006d%u0065%u006e%u0074%u0073%u0020%u0061%u006e%u0064%u0020%u0053%u0065%u0074%u0074%u0069%u006e%u0067%u0073%u005c%u7528%u6237%u540d%u005c%u0041%u0070%u0070%u006c%u0069%u0063%u0061%u0074%u0069%u006f%u006e%u0020%u0044%u0061%u0074%u0061%u005c%u004d%u006f%u007a%u0069%u006c%u006c%u0061%u005c%u0046%u0069%u0072%u0065%u0066%u006f%u0078%u005c%u0050%u0072%u006f%u0066%u0069%u006c%u0065%u0073%u005c%u002a%u002a%u002a%u002e%u0064%u0065%u0066%u0061%u0075%u006c%u0074%u003e%u4e0b%u9762%u7684%u6587%u4ef6%u0070%u0072%u0065%u0066%u0073%u002e%u006a%u0073%u005c%u006e%u67e5%u627e%u5b57%u7b26%u4e32%u0055%u006e%u0069%u0076%u0065%u0072%u0073%u0061%u006c%u0058%u0050%u0043%u006f%u006e%u006e%u0065%u0063%u0074%uff0c%u5c06%u76f8%u5e94%u6587%u672c%u884c%u4e2d%u7684%u0064%u0065%u006e%u0069%u0065%u0064%u4fee%u6539%u4e3a%u0067%u0072%u0061%u006e%u0074%u0065%u0064";var Msg4="%u5BF9%u4E0D%u8D77%uFF0C%u6B64%u94FE%u63A5%u9700%u8981%u5B89%u88C5QQ%u65CB%u98CE2.0%u4EE5%u4E0A%u7248%u672C%uFF0C%u8BF7%u60A8%u786E%u8BA4%u662F%u5426%u4E0B%u8F7D%u5347%u7EA7%u7248%u672C";var Msg5="%u5BF9%u4E0D%u8D77%uFF0C%u6B64%u94FE%u63A5%u9700%u8981%u5B89%u88C5QQ%u65CB%u98CE2.0%u4EE5%u4E0A%u7248%u672C%uFF0C%u8BF7%u60A8%u786E%u8BA4%u662F%u5426%u4E0B%u8F7D%u5347%u7EA7%u7248%u672C";var Msg6="%u4E0B%u8F7D%u5E76%u5B89%u88C5QQ%u65CB%u98CE%u540E%u4F7F%u7528%u672C%u670D%u52A1%u3002%u5982%u679C%u5DF2%u5B89%u88C5QQ%u65CB%u98CE%uFF0C%u8BF7%u5C1D%u8BD5%u91CD%u542F%u6D4F%u89C8%u5668%uFF0C%u82E5%u9700%u8981%u8FDB%u4E00%u6B65%u5E2E%u52A9%uFF0C%u8BF7%u8054%u7CFB%u5BA2%u670D%u3002";var MainURI="http://pc.qq.com/cgi-bin/jump_xf?oid=";var TTURI="http://im.qq.com/tt/";var ERR_OK=0;var ERR_VERSION_TOO_LOWLY=1;var ERR_NOT_SUPPORT_EXPLORER=2;var ERR_NOT_ENOUGH_PRIVILEGE=3;var ERR_NOT_INSTALL_QQDOWNLOAD=4;var ERR_FORBID_QQDOWNLOAD=5;var ERR_NOT_SUPPORT_PROTOCOL=6;var ERR_ED2K_NO_QQDOWNLOAD=7;var g_comFFDownload=null;var g_QQDownloadREG=null;var g_comIEQQDownload=null;var NT_IE=0;var NT_FIREFOX=1;var NT_OPERA=2;var NT_NETSCAPE=3;var NT_SAFARI=4;var NT_UNKNOWN=0XFFFF;var g_lastMiniSecond=0;var g_lastUrl="";function IEValidateCheck(uri){return true;}
function IE_GetFileName(linkObj)
{if("undefined"!=typeof(linkObj.filename))
{return linkObj.filename;}
else if("undefined"!=typeof(linkObj.FILENAME))
{return linkObj.FILENAME;}
else if("undefined"!=typeof(linkObj.FileName))
{return linkObj.FileName;}
else if("undefined"!=typeof(linkObj.fileName))
{return linkObj.fileName;}
else if("undefined"!=typeof(linkObj.Filename))
{return linkObj.Filename;}
else
{return"";}}
function FF_GetFileName(linkObj)
{if(""!=linkObj.getAttribute("filename"))
{return linkObj.getAttribute("filename");}
else if(""!=linkObj.getAttribute("FILENAME"))
{return linkObj.getAttribute("FILENAME");}
else if(""!=linkObj.getAttribute("FileName"))
{return linkObj.getAttribute("FileName");}
else if(""!=linkObj.getAttribute("fileName"))
{return linkObj.getAttribute("fileName");}
else if(""!=linkObj.getAttribute("Filename"))
{return linkObj.getAttribute("Filename");}
else
{return"";}}
function GetNavigatorType(){if((navigator.appName.indexOf("Internet Explorer")!=-1)&&(navigator.userAgent.indexOf("Opera")==-1)){return NT_IE;}
else
if(navigator.appName.indexOf("Netscape")!=-1){if(navigator.userAgent.indexOf("Navigator")!=-1){return NT_NETSCAPE;}
else
if(navigator.userAgent.indexOf("Firefox")!=-1){return NT_FIREFOX;}
else
if(navigator.userAgent.indexOf("Safari")!=-1){return NT_SAFARI;}}
else
if((navigator.appName.indexOf("Opera")!=-1)||(navigator.userAgent.indexOf("Opera")!=-1)){return NT_OPERA;}
return NT_UNKNOWN;}
function BuildUri(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename,isU2A){var loc="";if(uri.indexOf("qqdl://")!=-1){loc=uri+"\x01\x01";}
else{loc=SchemeEncode(uri,isU2A);}
loc+="\x01\x01"+ref+"\x01\x01"+
remark+"\x01\x01"+
cookie+"\x01\x01"+
rate.toString(10)+"\x01\x01"+
sid.toString(10)+"\x01\x01"+
filesize+"\x01\x01"+
filehash+"\x01\x01"+
filename;return loc;}
function CreateIEObject(){if(g_comIEQQDownload===null){try{g_comIEQQDownload=new ActiveXObject("QQIEHelper.QQRightClick.2");return(g_comIEQQDownload===null)?false:true;}
catch(e){return false;}}
return true;}
function CreateQQDownloadREG(){if(g_QQDownloadREG){return true;}
if("@mozilla.org/windows-registry-key;1"in Components.classes){g_QQDownloadREG=Components.classes["@mozilla.org/windows-registry-key;1"].createInstance(Components.interfaces.nsIWindowsRegKey);}
return(g_QQDownloadREG===null)?false:true;}
function GetQQDownloadREG(strPath,strName){if(!CreateQQDownloadREG()){return false;}
g_QQDownloadREG.open(Components.interfaces.nsIWindowsRegKey.ROOT_KEY_LOCAL_MACHINE,strPath,Components.interfaces.nsIWindowsRegKey.ACCESS_READ);return g_QQDownloadREG.readStringValue(strName);}
function FindQQDownload(){var path="";path=GetQQDownloadREG("SOFTWARE\\Tencent\\QQDownload","Exe");var file=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);file.initWithPath(path);try{file.isFile();return true;}
catch(exception){return false;}
return true;}
function CreateFFObject(){if(g_comFFDownload===null){try{if(!FindQQDownload()){return false;}
g_comFFDownload=Components.classes["@qq.com/QQDownloadFFH;1"].createInstance();g_comFFDownload=g_comFFDownload.QueryInterface(Components.interfaces.IQQDownloadFFH);return(g_comFFDownload===null)?false:true;}
catch(e){return false;}}
return true;}
function OnIEDownloadClick(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename){if(CreateIEObject()){var ver=g_comIEQQDownload.GetVersion();ver=ver.split(".");if(uri.indexOf("ed2k://")!=-1&&parseInt(ver[3],10)<188){return ERR_NOT_SUPPORT_PROTOCOL;}
if(parseInt(ver[3],10)>=248){g_comIEQQDownload.SendUrl4(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename);return ERR_OK;}
else
if(parseInt(ver[3],10)>=157){g_comIEQQDownload.SendUrl3(uri,ref,remark,cookie,rate,sid,filesize,filehash);return ERR_OK;}
else
if(parseInt(ver[3],10)>=127){g_comIEQQDownload.SendUrl2(uri,ref,remark,cookie,rate,sid);return ERR_OK;}
else
if(parseInt(ver[3],10)>65){g_comIEQQDownload.SendUrl(uri,ref,remark,cookie);return ERR_OK;}
else{return ERR_VERSION_TOO_LOWLY;}}
else{if(uri.indexOf("ed2k://")!=-1){return ERR_ED2K_NO_QQDOWNLOAD;}
else
if(navigator.appVersion.indexOf("QQDownload")!=-1){return ERR_FORBID_QQDOWNLOAD;}
else{return ERR_NOT_INSTALL_QQDOWNLOAD;}}}
function OnFFDownloadClick(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}
catch(e){if(navigator.appVersion.indexOf("QQDownload")!=-1){return ERR_FORBID_QQDOWNLOAD;}
else{return ERR_NOT_ENOUGH_PRIVILEGE;}}
if(CreateFFObject()){try{g_comFFDownload.SendSingleTask4(uri,ref,remark,cookie,1,rate,sid,filesize,filehash,filename);}
catch(e){try{g_comFFDownload.SendSingleTask3(uri,ref,remark,cookie,1,rate,sid,filesize,filehash);}
catch(e){try{g_comFFDownload.SendSingleTask2(uri,ref,remark,cookie,1,rate,sid);}
catch(e){if(g_comFFDownload.SendSingleTask(uri,ref,remark,cookie,1)!==0){}}}}
return ERR_OK;}
else{if(navigator.appVersion.indexOf("QQDownload")!=-1){return ERR_FORBID_QQDOWNLOAD;}
else{return ERR_NOT_INSTALL_QQDOWNLOAD;}}}
function OnIEContextClick(linkObj){linkObj.href=linkObj.QHref;}
function OnFFContextClick(event){var element=event.target;element.setAttribute("href",element.getAttribute("QHref"));}
function isUrl(url){if(url&&typeof(url)=="string"&&url.constructor==String){return true;}
return false;}
function OnDownloadClick(linkObj,event,uri,ref,remark,cookie,rate,sid,filesize,filehash,filename,defopen,isU2A,redirectUrl){var ret=ERR_OK;switch(GetNavigatorType()){case NT_IE:if(false==IEValidateCheck(uri)){return true;}
if(linkObj){linkObj.href="###";}
ret=OnIEDownloadClick(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename);g_comIEQQDownload=null;break;case NT_FIREFOX:if(event){var element=event.target;element.setAttribute("href","###");}
ret=OnFFDownloadClick(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename);break;default:ret=ERR_NOT_SUPPORT_EXPLORER;break;}
if(ret==ERR_FORBID_QQDOWNLOAD){window.location.href=BuildUri(uri,ref,remark,cookie,rate,sid,filesize,filehash,filename,isU2A);}
else
if(ret!=ERR_OK&&defopen){window.location.href=uri;}
else
if(ret==ERR_ED2K_NO_QQDOWNLOAD){window.location.href=uri;}
else
if(ret!=ERR_OK){var msg=Msg1;if(ret==ERR_NOT_SUPPORT_EXPLORER){msg=Msg2;}
else
if(ret==ERR_NOT_ENOUGH_PRIVILEGE){msg=Msg3;}
else
if(ret==ERR_NOT_SUPPORT_PROTOCOL){msg=Msg5;}
else{switch(GetNavigatorType()){case NT_IE:msg=Msg1;break;case NT_FIREFOX:msg=Msg4;break;default:break;}}
if(isUrl(redirectUrl)){window.open(redirectUrl);}else{if(confirm(unescape(msg),2)){window.location=MainURI+sid;}}}
return(ret==ERR_OK)?true:false;}
function OnContextClick(linkObj,event){switch(GetNavigatorType()){case NT_IE:OnIEContextClick(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:OnFFContextClick(event);break;default:break;}}
function OnDownloadClick_Simple(linkObj,event,sid){var uri="";var remark="";var ref="";var filename="";var nType=GetNavigatorType();switch(nType){case NT_IE:uri=linkObj.QHref;remark=linkObj.innerText;ref=window.location.href;filename=IE_GetFileName(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:case NT_SAFARI:var element=event.target;do{uri=element.getAttribute("QHref");try{remark=element.text.toString();}
catch(e){}
ref=window.location;filename=FF_GetFileName(element);element=element.parentNode;}
while(uri===null&&element!=this.ownerDocument);break;default:break;}
if(nType==NT_IE||nType==NT_FIREFOX){OnDownloadClick(linkObj,event,uri,ref,remark,document.cookie,0,sid,0,0,filename,false,true);}
else{window.location.href=uri;}}
function OnDownloadClick_QQ(linkObj,event,sid){var uri="";var remark="";var ref="";var filename="";var nType=GetNavigatorType();switch(nType){case NT_IE:uri=linkObj.QHref;remark=linkObj.innerText;ref=window.location.href;filename=IE_GetFileName(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:case NT_SAFARI:var element=event.target;do{uri=element.getAttribute("QHref");try{remark=element.text.toString();}
catch(e){}
ref=window.location;filename=FF_GetFileName(element);element=element.parentNode;}
while(uri===null&&element!=this.ownerDocument);break;default:break;}
if(nType==NT_IE||nType==NT_FIREFOX){OnDownloadClick(linkObj,event,uri,ref,remark,document.cookie,0,sid,0,0,filename,true,false);}
else{window.location.href=uri;}}
function OnDownloadClick_Game(linkObj,event,sid,rate,isWChar,redirectUrl,specRef){var uri="";var remark="";var ref="";var filename="";var nType=GetNavigatorType();switch(nType){case NT_IE:uri=linkObj.QHref;remark=linkObj.innerText;ref=window.location.href;filename=IE_GetFileName(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:case NT_SAFARI:var element=event.target;do{uri=element.getAttribute("QHref");try{remark=element.text.toString();}
catch(e){}
ref=window.location;filename=FF_GetFileName(element);element=element.parentNode;}
while(uri===null&&element!=this.ownerDocument);break;default:break;}
if(nType==NT_IE||nType==NT_FIREFOX){if(specRef){ref=specRef;}
OnDownloadClick(linkObj,event,uri,ref,remark,document.cookie,rate,sid,0,0,filename,false,isWChar,redirectUrl);}
else{window.location.href=uri;}}
function OnDownloadClick_xw(linkObj,event,ref,remark,filesize,filehash){var uri="";var filename="";var nType=GetNavigatorType();switch(nType){case NT_IE:uri=linkObj.QHref;filename=IE_GetFileName(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:case NT_SAFARI:var element=event.target;do{uri=element.getAttribute("QHref");filename=FF_GetFileName(element);element=element.parentNode;}
while(uri===null&&element!=this.ownerDocument);break;default:break;}
if(nType==NT_IE||nType==NT_FIREFOX){return OnDownloadClick(linkObj,event,uri,ref,remark,"",0,10001,filesize,filehash,filename,false,true);}
else{window.location.href=uri;return true;}}
function OnDownloadClick_easy(linkObj,event,uri,sid,redirectUrl){var ref="";var filename="";var nType=GetNavigatorType();switch(nType){case NT_IE:ref=window.location.href;filename=IE_GetFileName(linkObj);break;case NT_FIREFOX:case NT_OPERA:case NT_NETSCAPE:case NT_SAFARI:ref=window.location;filename=FF_GetFileName(event.target);break;default:break;}
if(nType==NT_IE||nType==NT_FIREFOX){OnDownloadClick(linkObj,event,uri,ref,"",document.cookie,0,sid,0,0,filename,false,true,redirectUrl);}
else{window.location.href=uri;}}
function OnDownload_template(uri,sid){OnDownloadClick_easy(false,false,uri,sid);}
function BatchTask_FileName(count,Array)
{var nType=GetNavigatorType();switch(nType)
{case NT_IE:{if(CreateIEObject())
{var ver=g_comIEQQDownload.GetVersion();ver=ver.split(".");var nVer=parseInt(ver[3],10);for(var i=0;i<count;)
{if(nVer>=248)
{g_comIEQQDownload.AddTask3(Array[i],Array[i+1],Array[i+2],0,Array[i+3]);}
else
{g_comIEQQDownload.AddTask(Array[i],Array[i+1],Array[i+2]);}
i=i+4;}
g_comIEQQDownload.SendMultiTask();}
else
{alert(unescape(Msg6));}}
break;case NT_FIREFOX:{try
{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");if(CreateFFObject())
{for(var i=0;i<count;)
{try
{g_comFFDownload.AddTask3(Array[i],Array[i+1],Array[i+2],"",0,Array[i+3]);}
catch(e)
{g_comFFDownload.AddTask(Array[i],Array[i+1],Array[i+2],"");}
i=i+4;}
g_comFFDownload.SendMultiTask();}
else
{alert(unescape(Msg6));}}
catch(e)
{alert(unescape(Msg3));}}
break;default:{if(confirm(unescape(Msg2),2))
{window.open(TTURI);}}
break;}}
