home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 April / PCWorld_2008-04_cd.bin / komunikace / maxthon / mx_2.0.8.1720.exe / template / Download / maxDownload.js < prev   
Text File  |  2008-02-01  |  18KB  |  695 lines

  1. var maxDownload={};
  2. maxDownload.categoryIdList={"incomplete":"14","completed":"12","all":"10","deleted":"3","search":"10"};
  3. maxDownload.defaultCategory="incomplete",maxDownload.updateFreq=1000;
  4. maxDownload.fatalError=false;
  5. maxDownload.taskList=[];
  6. maxDownload.itemCount=0;
  7. maxDownload.pageSize=12;
  8. maxDownload.currentPage=1;
  9. maxDownload.checkedIDList={};
  10. maxDownload.checkedCount=0;
  11. $langDefaultSection="Downloader";
  12. maxDownload.init=function(){
  13. document.title=$lang("title");
  14. maxDownload.initObject();
  15. maxDownload.buildTaskList();
  16. maxDownload.adjustHeight();
  17. window.onresize=maxDownload.adjustHeight;
  18. var _1=$cookies("activePage");
  19. if(maxDownload.categoryIdList[_1]){
  20. maxDownload.defaultCategory=_1;
  21. }
  22. maxDownload.currentCategory=maxDownload.defaultCategory;
  23. maxDownload.activateCategory(maxDownload.defaultCategory);
  24. maxDownload.dataUpdater();
  25. };
  26. maxDownload.initObject=function(){
  27. try{
  28. maxDownload.objDownload=new ActiveXObject("MxDownloadServer.ThunderMx.1");
  29. }
  30. catch(e){
  31. maxDownload.msgObjectError();
  32. }
  33. };
  34. maxDownload.msgObjectError=function(){
  35. maxDownload.fatalError=true;
  36. var _2=$id("errorMessage");
  37. _2.style.display="block";
  38. _2.innerHTML=$lang("download_object_fail").$encodeHTML()+"   "+"<a href=\"javascript:;\" onclick=\"maxDownload.reload()\">"+$lang("download_object_fail_retry").$encodeHTML()+"</a>";
  39. };
  40. maxDownload.reload=function(){
  41. maxDownload.fatalError=false;
  42. $id("errorMessage").style.display="none";
  43. maxDownload.initObject();
  44. maxDownload.dataUpdater();
  45. };
  46. maxDownload.showSettings=function(){
  47. try{
  48. maxDownload.objDownload.ShowSetting();
  49. }
  50. catch(e){
  51. maxDownload.msgObjectError();
  52. }
  53. };
  54. maxDownload.activateCategory=function(_3){
  55. if(maxDownload.currentCategory=="search"){
  56. maxDownload.resetSearch();
  57. var _4=$id("searchButton");
  58. _4.src="images/search.png";
  59. _4.onclick=maxDownload.updateTaskList;
  60. }
  61. maxDownload.switchCategoryUI(_3);
  62. if(_3!="search"&&_3!="deleted"){
  63. $cookies("activePage",_3);
  64. }
  65. maxDownload.updateTaskList();
  66. };
  67. maxDownload.switchCategoryUI=function(_5){
  68. if(!maxDownload.categoryIdList[_5]){
  69. alert("maxDownload.activateCategory :: invalid type \""+_5+"\"");
  70. }
  71. var _6="";
  72. var _7="buttons-active";
  73. if(_5=="search"){
  74. _7="label buttons-active";
  75. }
  76. if(maxDownload.currentCategory=="search"){
  77. _6="label";
  78. }
  79. $id("page_"+maxDownload.currentCategory).className=_6;
  80. $id("page_"+_5).className=_7;
  81. if(_5!="search"){
  82. $id("num_"+_5).className="";
  83. }
  84. if(_5=="search"||_5=="deleted"||_5=="completed"){
  85. $id("ucontrol").style.display="none";
  86. }else{
  87. $id("ucontrol").style.display="inline";
  88. }
  89. maxDownload.currentCategory=_5;
  90. maxDownload.currentPage=1;
  91. };
  92. maxDownload.resetSearch=function(_8){
  93. $id("searchBar").value="";
  94. };
  95. maxDownload.dataUpdater=function(){
  96. if(maxDownload.fatalError){
  97. return;
  98. }
  99. var _9=$id("searchBar").value;
  100. var _a=false;
  101. _9=_9.$trim();
  102. var _b=$id("searchButton");
  103. if(_9!=""){
  104. _b.src="images/reset.png";
  105. _b.onclick=maxDownload.resetSearch;
  106. maxDownload.switchCategoryUI("search");
  107. }else{
  108. _9=false;
  109. if(maxDownload.currentCategory=="search"){
  110. maxDownload.activateCategory(maxDownload.defaultCategory);
  111. }
  112. }
  113. maxDownload.updateCounter();
  114. maxDownload.updateTaskList(_9);
  115. setTimeout(maxDownload.dataUpdater,maxDownload.updateFreq);
  116. };
  117. maxDownload.lastCounter=[-1,-1,-1,-1];
  118. maxDownload.updateCounter=function(){
  119. var _c=[];
  120. try{
  121. _c=maxDownload.objDownload.GetTaskCount2("14{\r\r*\r\r}12{\r\r*\r\r}10{\r\r*\r\r}3");
  122. }
  123. catch(e){
  124. maxDownload.msgObjectError();
  125. return;
  126. }
  127. _c=_c.split("{\r\r*\r\r}");
  128. var _d=[];
  129. for(var i=0;i<_c.length;i++){
  130. var _f=_c[i];
  131. if(_f.length<1){
  132. continue;
  133. }
  134. _f=_f.split("{\r*\r}");
  135. _d.push(_f[1]);
  136. }
  137. var _10=["num_incomplete","num_completed","num_all","num_deleted"];
  138. for(var i=0;i<_d.length;i++){
  139. if(_d[i]!=0){
  140. $id(_10[i]).innerHTML="("+_d[i]+")";
  141. }else{
  142. $id(_10[i]).innerHTML="";
  143. }
  144. if(maxDownload.lastCounter[i]>-1){
  145. if(_d[i]>maxDownload.lastCounter[i]){
  146. $id(_10[i]).className="num-highlight";
  147. }
  148. }
  149. }
  150. maxDownload.lastCounter=_d;
  151. };
  152. maxDownload.buildTaskList=function(){
  153. downloadTable=maxTable.create("downloadTable");
  154. downloadTable.controlUI["delete"]=$lang("delete");
  155. downloadTable.controlUI["cancel"]=$lang("cancel");
  156. downloadTable.controlUI["checkbox"]="<img src=\"../_shared/images/btn_check.png\" />";
  157. downloadTable.controlUI["checkbox_checked"]="<img src=\"../_shared/images/btn_check_checked.png\" />";
  158. downloadTable.controlUI["move_up"]="<img src=\"../_shared/images/btn_up.png\" />";
  159. downloadTable.controlUI["move_down"]="<img src=\"../_shared/images/btn_down.png\" />";
  160. downloadTable.columns=[{title:"<div onclick=\"maxDownload.checkAll()\" style=\"cursor:pointer\"><img id=\"btnCheckAll\" src=\"../_shared/images/btn_check.png\" /></div>",name:"checked",type:"checkbox",width:18},{title:" ",name:"status",type:"custom",width:18,customBuilder:maxDownload.buildItemHTML},{title:$lang("filename"),name:"fileName",type:"custom",customBuilder:maxDownload.buildItemHTML},{title:$lang("size"),name:"size",type:"custom",width:100,customBuilder:maxDownload.buildItemHTML},{title:$lang("progress"),name:"percent",type:"custom",width:150,customBuilder:maxDownload.buildItemHTML},{title:$lang("time_used"),name:"timeUsed",type:"custom",width:120,customBuilder:maxDownload.buildItemHTML}];
  161. downloadTable.dataType="object";
  162. downloadTable.data=maxDownload.taskList;
  163. downloadTable.showEditControl=false;
  164. downloadTable.allowEditSeparator=false;
  165. downloadTable.allowInsert=false;
  166. downloadTable.confirmDelete=false;
  167. downloadTable.tableTag=" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"",downloadTable.editControl=[{type:"delete",hideOnNew:true},{type:"html",value:" | ",hideOnNew:true},{type:"cancel"}];
  168. downloadTable.lang["delete_confirm"]=$lang("confirm_delete_task");
  169. downloadTable.event["beforeDelete"]=maxDownload.deleteTask;
  170. downloadTable.event["afterCheckboxClick"]=maxDownload.checkItem;
  171. maxTable.init(downloadTable);
  172. };
  173. maxDownload.adjustHeight=function(){
  174. var obj=$id("contentWrapper");
  175. if(!obj){
  176. return;
  177. }
  178. var _12=document.documentElement.clientHeight-160;
  179. obj.style.height=_12-10;
  180. };
  181. maxDownload.buildItemHTML=function(_13,_14){
  182. var _15=downloadTable.data[_13];
  183. var _16="";
  184. if(_14==1){
  185. if(_15.status<2){
  186. _16="<a href=\"javascript:;\" onclick=\"maxDownload.stopTask('"+_15.id+"')\"><img src=\"images/check.png\" alt=\""+$lang("status_check")+"\"/></a>";
  187. }else{
  188. if(_15.status==2){
  189. _16="<a href=\"javascript:;\" onclick=\"maxDownload.stopTask('"+_15.id+"')\"><img src=\"images/run.png\" alt=\""+$lang("status_run")+"\" /></a>";
  190. }else{
  191. if(_15.status==10){
  192. _16="<a href=\"javascript:;\" onclick=\"maxDownload.startTask('"+_15.id+"')\"><img src=\"images/pause.png\" alt=\""+$lang("status_pause")+"\" /></a>";
  193. }else{
  194. if(_15.status==11){
  195. _16="<a href=\"javascript:;\" onclick=\"maxDownload.restartTask('"+_15.id+"')\"><img src=\"images/done.png\" alt=\""+$lang("status_done")+"\" /></a>";
  196. }else{
  197. _16="<a href=\"javascript:;\" onclick=\"maxDownload.startTask('"+_15.id+"')\"><img src=\"images/error.png\" alt=\""+$lang("status_error")+"\" /></a>";
  198. }
  199. }
  200. }
  201. }
  202. }else{
  203. if(_14==2){
  204. if(downloadTable.inAction=="edit"&&downloadTable.inEditDataIndex==_13){
  205. var _17=maxDownload.getTaskDetail(_15.id);
  206. _16="<strong>"+_15.fileName.$encodeHTML()+"</strong>";
  207. _16+=maxDownload.buildEditControlHTML();
  208. }else{
  209. _16+="<span style=\"float:right\">";
  210. if(_15.status==11){
  211. _16+="<a href=\"javascript:;\" onclick=\"maxDownload.openFile('"+_15.id+"');event.cancelBubble=true;\">"+$lang("open")+"</a>  ";
  212. }
  213. _16+="<a href=\"javascript:;\" onclick=\"maxDownload.openTaskFolder('"+_15.id+"');event.cancelBubble=true;\">"+$lang("o_folder")+"</a>";
  214. _16+="</span>";
  215. _16+=_15.fileName.$encodeHTML().$cut(50);
  216. }
  217. }else{
  218. if(_14==3){
  219. _16=maxDownload.fileSizeString(_15.size);
  220. }else{
  221. if(_14==4){
  222. var _18;
  223. if(_15.status<2){
  224. _18=" progressBarStop";
  225. }else{
  226. if(_15.status==2){
  227. _18="";
  228. }else{
  229. if(_15.status==10){
  230. _18=" progressBarStop";
  231. }else{
  232. if(_15.status==11){
  233. _18=" progressBarDone";
  234. }else{
  235. _18=" progressBarError";
  236. }
  237. }
  238. }
  239. }
  240. _16+="<div class=\"progressBarOuter\" style=\"width:100%\">";
  241. if(_15.status==2){
  242. _16+="<div class=\"speed\">"+maxDownload.speedString(_15.speed)+"</div>";
  243. }
  244. _16+="<div class=\"progressBar"+_18+"\" style=\"width:"+Math.floor(100*_15.progress)+"%;\"> "+maxDownload.progressString(_15.progress)+"</div>";
  245. _16+="</div>";
  246. }else{
  247. if(_14==5){
  248. var _19=maxDownload.timeString(_15.timeUsed);
  249. if(_19==""){
  250. _19="00:00:00";
  251. }
  252. var _1a=maxDownload.timeString(_15.timeLeft);
  253. _16=_19+(_1a!=""?" <span class=\"timeLeft\">("+_1a+")</span>":"");
  254. }
  255. }
  256. }
  257. }
  258. }
  259. return _16;
  260. };
  261. maxDownload.fileSizeString=function(_1b){
  262. var _1c=_1b;
  263. if(isNaN(_1c)){
  264. return "0";
  265. }
  266. if(_1c==0){
  267. return "0";
  268. }
  269. var _1d="Bytes";
  270. if((_1c/1073741824)>1){
  271. _1c=(_1c/1073741824).toString();
  272. _1d="GB";
  273. }else{
  274. if((_1c/1048576)>1){
  275. _1c=(_1c/1048576).toString();
  276. _1d="MB";
  277. }else{
  278. if((_1c/1024)>1){
  279. _1c=(_1c/1024).toString();
  280. _1d="KB";
  281. }else{
  282. _1c=_1c.toString();
  283. _1d="Bytes";
  284. }
  285. }
  286. }
  287. if(_1c.indexOf(".")>-1){
  288. _1c=_1c.substr(0,_1c.indexOf(".")+2);
  289. }
  290. return _1c+" "+_1d;
  291. };
  292. maxDownload.speedString=function(_1e){
  293. var _1f=_1e;
  294. if(isNaN(_1f)){
  295. return "0";
  296. }
  297. if(_1f==0){
  298. return "0";
  299. }
  300. var _20="Bytes";
  301. if((_1f/1073741824)>1){
  302. _1f=(_1f/1073741824).toString();
  303. _20="GB/s";
  304. }else{
  305. if((_1f/1048576)>1){
  306. _1f=(_1f/1048576).toString();
  307. _20="MB/s";
  308. }else{
  309. if((_1f/1024)>1){
  310. _1f=(_1f/1024).toString();
  311. _20="KB/s";
  312. }else{
  313. _1f=_1f.toString();
  314. _20="B/s";
  315. }
  316. }
  317. }
  318. if(_1f.indexOf(".")>-1){
  319. _1f=_1f.substr(0,_1f.indexOf(".")+2);
  320. }
  321. return _1f+" "+_20;
  322. };
  323. maxDownload.progressString=function(_21){
  324. var _22=_21;
  325. if(isNaN(_22)){
  326. return "0";
  327. }
  328. _22=(_22*100).toString();
  329. if(_22.length>5){
  330. _22=_22.substr(0,5);
  331. }
  332. _22+="%";
  333. return _22;
  334. };
  335. maxDownload.timeString=function(_23){
  336. if(_23<1){
  337. return "";
  338. }
  339. var hr=Math.floor(_23/3600).toString();
  340. if(hr.length==1){
  341. hr="0"+hr;
  342. }
  343. var min=Math.floor((_23%3600)/60).toString();
  344. if(min.length==1){
  345. min="0"+min;
  346. }
  347. var sec=(_23%60).toString();
  348. if(sec.length==1){
  349. sec="0"+sec;
  350. }
  351. return hr+":"+min+":"+sec;
  352. };
  353. maxDownload.buildEditControlHTML=function(){
  354. var _27=downloadTable.data[downloadTable.inEditDataIndex];
  355. var _28="<p class=\"inline-control\">";
  356. if(_27.status==10||_27.status==12){
  357. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.startTask('"+_27.id+"')\">"+$lang("start")+"</a> | ";
  358. }
  359. if(_27.status<=2){
  360. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.stopTask('"+_27.id+"')\">"+$lang("stop")+"</a> | ";
  361. }
  362. if(_27.status==11){
  363. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.openFile('"+_27.id+"')\">"+$lang("open_file")+"</a> | ";
  364. }
  365. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.openTaskFolder('"+_27.id+"')\">"+$lang("open_folder")+"</a> | ";
  366. _28+="<a href=\"javascript:;\" onclick=\"maxTable.action.deleteEdit("+downloadTable.objID+")\">"+downloadTable.controlUI["delete"]+"</a> | ";
  367. if(_27.status==11){
  368. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.restartTask('"+_27.id+"')\">"+$lang("restart")+"</a> | ";
  369. }
  370. _28+="<a href=\"javascript:;\" onclick=\"maxDownload.showTaskProperties('"+_27.id+"')\">"+$lang("show_prop")+"</a> | ";
  371. _28+="<a href=\"javascript:;\" onclick=\"maxTable.action.cancelEdit("+downloadTable.objID+")\">"+downloadTable.controlUI["cancel"]+"</a>";
  372. _28+="</p>";
  373. return _28;
  374. };
  375. maxDownload.loadTaskList=function(_29){
  376. var _2a;
  377. try{
  378. if(_29){
  379. _2a=maxDownload.objDownload.SearchTaskList("10="+_29,(maxDownload.currentPage-1)*maxDownload.pageSize,maxDownload.pageSize,0);
  380. }else{
  381. _2a=maxDownload.objDownload.GetTaskList(maxDownload.categoryIdList[maxDownload.currentCategory],(maxDownload.currentPage-1)*maxDownload.pageSize,maxDownload.pageSize,0);
  382. }
  383. }
  384. catch(e){
  385. maxDownload.msgObjectError();
  386. return [];
  387. }
  388. _2a=_2a.split("{\r\r*\r\r}");
  389. var _2b={};
  390. var _2c=0;
  391. var _2d=[];
  392. for(var i=0;i<_2a.length;i++){
  393. var _2f=_2a[i];
  394. if(_2f.length<10){
  395. continue;
  396. }
  397. _2f=_2f.split("{\r*\r}");
  398. var _30={};
  399. _30.id=_2f[1];
  400. _30.tag=_2f[3];
  401. _30.status=parseInt(_2f[4],10);
  402. _30.speed=parseInt(_2f[5],10);
  403. _30.progress=parseFloat(_2f[6]);
  404. _30.size=parseInt(_2f[8],10);
  405. _30.timeUsed=parseInt(_2f[9],10);
  406. _30.timeLeft=parseInt(_2f[10],10);
  407. _30.createDate=_2f[11];
  408. _30.fileName=_2f[14];
  409. _30.fileExtension=_2f[15];
  410. _30.checked=(maxDownload.checkedIDList[_30.id]==true)?true:false;
  411. if(_30.checked){
  412. _2b[_30.id]=true;
  413. _2c++;
  414. }
  415. _2d.push(_30);
  416. }
  417. var _31=parseInt(_2a[0],10);
  418. if(isNaN(_31)){
  419. _31=_2d.length;
  420. }
  421. maxDownload.itemCount=_31;
  422. maxDownload.checkedIDList=_2b;
  423. maxDownload.checkedCount=_2c;
  424. return _2d;
  425. };
  426. maxDownload.getTaskDetail=function(id){
  427. var _33={"url":"","referer":"","folder":""};
  428. var _34;
  429. try{
  430. _34=maxDownload.objDownload.GetTaskInfo(id);
  431. }
  432. catch(e){
  433. maxDownload.msgObjectError();
  434. }
  435. _34=_34.split("{\r*\r}");
  436. _33.url=_34[3];
  437. _33.referer=_34[3];
  438. _33.folder=_34[7];
  439. return _33;
  440. };
  441. maxDownload.updateTaskList=function(_35){
  442. if(maxDownload.updatingTaskList){
  443. return;
  444. }
  445. maxDownload.updatingTaskList=true;
  446. var _36=maxDownload.loadTaskList(_35);
  447. var _37=maxDownload.taskList;
  448. var _38=_36.length;
  449. var _39=_37.length;
  450. var _3a=_38<_39?_38:_39;
  451. var _3b="";
  452. var _3c=-1;
  453. var _3d=false;
  454. if(downloadTable.inAction=="edit"||downloadTable.inAction=="add"){
  455. var x=downloadTable.inEditDataIndex;
  456. if(maxDownload.isEqualTask(_36[x],_37[x])){
  457. _3d=false;
  458. _3c=i;
  459. }else{
  460. if(_37[x]){
  461. _3b=_37[x].id;
  462. }
  463. _3d=true;
  464. }
  465. }
  466. for(var i=0;i<_3a;i++){
  467. if(maxDownload.isEqualTask(_36[i],_37[i])==false){
  468. _37[i]=_36[i];
  469. maxTable.ui.updateRow(downloadTable,i);
  470. }
  471. }
  472. if(_38>_39){
  473. for(var i=_39;i<_38;i++){
  474. maxTable.ui.addRow(downloadTable,false,_36[i]);
  475. }
  476. }
  477. if(_38<_39){
  478. for(var i=_38;i<_39;i++){
  479. maxTable.ui.deleteRow(downloadTable,_38);
  480. }
  481. }
  482. maxDownload.updateCheckAllUI();
  483. maxDownload.updateStats();
  484. maxDownload.updatePageLinks();
  485. maxDownload.updatingTaskList=false;
  486. };
  487. maxDownload.isEqualTask=function(_40,_41){
  488. if(!_40||!_41){
  489. return false;
  490. }
  491. if(_40.checked!=_41.checked){
  492. return false;
  493. }
  494. if(_40.id!=_41.id){
  495. return false;
  496. }
  497. if(_40.status!=_41.status){
  498. return false;
  499. }
  500. if(_40.speed!=_41.speed){
  501. return false;
  502. }
  503. if(_40.progress!=_41.progress){
  504. return false;
  505. }
  506. return true;
  507. };
  508. maxDownload.checkItem=function(_42,_43){
  509. var _44=downloadTable.data[_42];
  510. if(_44.checked){
  511. maxDownload.checkedIDList[_44.id]=true;
  512. maxDownload.checkedCount++;
  513. }else{
  514. maxDownload.checkedIDList[_44.id]=null;
  515. maxDownload.checkedCount--;
  516. }
  517. maxDownload.updateCheckAllUI();
  518. };
  519. maxDownload.checkAll=function(){
  520. var val=false;
  521. if(downloadTable.data.length!=maxDownload.checkedCount){
  522. val=true;
  523. maxDownload.checkedCount=downloadTable.data.length;
  524. }else{
  525. maxDownload.checkedCount=0;
  526. }
  527. maxDownload.updateCheckAllUI();
  528. for(var i=0;i<downloadTable.data.length;i++){
  529. var _47=downloadTable.data[i];
  530. if(_47.checked!=val){
  531. maxDownload.checkedIDList[_47.id]=val;
  532. maxTable.ui.doCheckbox(downloadTable,i,0,val);
  533. }
  534. }
  535. };
  536. maxDownload.updateCheckAllUI=function(){
  537. if(downloadTable.data.length!=maxDownload.checkedCount||maxDownload.checkedCount==0){
  538. $id("btnCheckAll").src="../_shared/images/btn_check.png";
  539. }else{
  540. $id("btnCheckAll").src="../_shared/images/btn_check_checked.png";
  541. }
  542. };
  543. maxDownload.updateStats=function(){
  544. $id("stats").innerHTML=$lang("item_count").replace("%i",maxDownload.itemCount);
  545. };
  546. maxDownload.updatePageLinks=function(){
  547. var obj=$id("pagerWrapper");
  548. var _49="";
  549. if(maxDownload.oldItemCount==maxDownload.itemCount&&maxDownload.oldCurrentPage==maxDownload.currentPage){
  550. return;
  551. }
  552. maxDownload.oldItemCount=maxDownload.itemCount;
  553. maxDownload.oldCurrentPage=maxDownload.currentPage;
  554. if(maxDownload.itemCount>maxDownload.pageSize){
  555. var _4a={"separator":"","normal":"<a href=\"javascript:maxDownload.setPage(%page);\">%page</a>","active":"<a href=\"javascript:;\" class=\"active\">%page</a>","prev":"<a href=\"javascript:maxDownload.setPage(%page);\">‹</a>","next":"<a href=\"javascript:maxDownload.setPage(%page);\">›</a>","first":"<a href=\"javascript:maxDownload.setPage(%page);\">«</a>","last":"<a href=\"javascript:maxDownload.setPage(%page);\">»</a>"};
  556. _49=$pageLinks(maxDownload.itemCount,maxDownload.pageSize,maxDownload.currentPage,10,_4a);
  557. obj.innerHTML=_49;
  558. obj.style.display="inline";
  559. }else{
  560. obj.style.display="none";
  561. }
  562. };
  563. maxDownload.setPage=function(_4b){
  564. maxTable.action.cancelEdit(downloadTable);
  565. maxDownload.currentPage=_4b;
  566. maxDownload.updateTaskList();
  567. };
  568. maxDownload.addTask=function(){
  569. try{
  570. maxDownload.objDownload.CallAddTask("","","",0,"","");
  571. }
  572. catch(e){
  573. maxDownload.msgObjectError();
  574. }
  575. maxDownload.updateTaskList();
  576. };
  577. maxDownload.deleteTask=function(_4c){
  578. var _4d;
  579. try{
  580. _4d=maxDownload.objDownload.DeleteTask(_4c.id,0);
  581. }
  582. catch(e){
  583. maxDownload.msgObjectError();
  584. }
  585. if(_4d==0){
  586. return true;
  587. maxDownload.updateTaskList();
  588. }else{
  589. return false;
  590. }
  591. };
  592. maxDownload.deleteSelected=function(){
  593. var _4e="";
  594. for(var i=0;i<downloadTable.data.length;i++){
  595. var _50=downloadTable.data[i];
  596. if(_50.checked!=true){
  597. continue;
  598. }
  599. _4e+=_50.id+"{\r*\r}";
  600. }
  601. if(_4e==""){
  602. return;
  603. }
  604. try{
  605. maxDownload.objDownload.DeleteTask(_4e,0);
  606. }
  607. catch(e){
  608. maxDownload.msgObjectError();
  609. return;
  610. }
  611. maxDownload.updateTaskList();
  612. };
  613. maxDownload.startTask=function(id){
  614. try{
  615. maxDownload.objDownload.StartTask(id);
  616. }
  617. catch(e){
  618. maxDownload.msgObjectError();
  619. }
  620. maxDownload.cancelEventBubble();
  621. maxDownload.updateTaskList();
  622. };
  623. maxDownload.stopTask=function(id){
  624. try{
  625. maxDownload.objDownload.StopTask(id);
  626. }
  627. catch(e){
  628. maxDownload.msgObjectError();
  629. }
  630. maxDownload.cancelEventBubble();
  631. maxDownload.updateTaskList();
  632. };
  633. maxDownload.startAll=function(){
  634. try{
  635. maxDownload.objDownload.StartAll();
  636. }
  637. catch(e){
  638. maxDownload.msgObjectError();
  639. }
  640. maxDownload.updateTaskList();
  641. };
  642. maxDownload.stopAll=function(){
  643. try{
  644. maxDownload.objDownload.StopAll();
  645. }
  646. catch(e){
  647. maxDownload.msgObjectError();
  648. }
  649. maxDownload.updateTaskList();
  650. };
  651. maxDownload.restartTask=function(id){
  652. if(confirm($lang("confirm_restart"))){
  653. try{
  654. maxDownload.objDownload.DownloadAgain(id,1);
  655. }
  656. catch(e){
  657. maxDownload.msgObjectError();
  658. }
  659. maxDownload.updateTaskList();
  660. }
  661. maxDownload.cancelEventBubble();
  662. };
  663. maxDownload.showTaskProperties=function(id){
  664. try{
  665. maxDownload.objDownload.ShowTaskProp(id);
  666. }
  667. catch(e){
  668. maxDownload.msgObjectError();
  669. }
  670. };
  671. maxDownload.openFile=function(id){
  672. try{
  673. maxDownload.objDownload.OpenTaskFile(id);
  674. }
  675. catch(e){
  676. maxDownload.msgObjectError();
  677. }
  678. };
  679. maxDownload.openTaskFolder=function(id){
  680. try{
  681. maxDownload.objDownload.OpenTaskFolder(id);
  682. }
  683. catch(e){
  684. maxDownload.msgObjectError();
  685. }
  686. };
  687. maxDownload.cancelEventBubble=function(){
  688. if(!window.event){
  689. return;
  690. }
  691. window.event.cancelBubble=true;
  692. window.event.returnValue=false;
  693. };
  694.  
  695.