home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 November / PCWorld_2007-11_cd.bin / temacd / imtoodownyoutube / download-youtube-video.exe / script / flvmain.js < prev    next >
Encoding:
Text File  |  2007-09-11  |  25.0 KB  |  1,118 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. var _g_debug_model = false;
  10. var dropstr=""
  11.  
  12. /*
  13. MainWindow.RegisterMessage(1024+150,"onstart");
  14. function onstart(args)
  15. {
  16.     MainWindow_Minimize();
  17. }*/
  18. function UpodStartup()
  19. {
  20.  
  21.     LoadConfig();
  22.     
  23.     StartupTestRegister();
  24.     
  25.     MainWindow.title.maintitle.SetText(GetMainWindowTitle());
  26.     flvmain_init();
  27.     
  28.     
  29.     
  30.     TaskManager.RunTask();
  31.     
  32.     //MainWindow.SetTimer(103, 1000, "LoadSavedTasks");
  33.  
  34.     LoadSavedTasks();
  35.     
  36.     if (MainWindow.listctrlfiles.GetItemCount()>0)
  37.     {
  38.         MainWindow.listctrlfiles.height=332;
  39.         MainWindow.pel.height=0;
  40.     }    
  41.     
  42.     MainWindow_Minimize();
  43.     
  44.     if(cfgGetInt("general","minstartup",0)==1)
  45.       MainWindow.SetTimer(103,100,"checkMainWindow");
  46.  
  47. }
  48. function checkMainWindow()
  49. {
  50.     if(IsWindowVisible(MainWindow))
  51.     {
  52.         MainWindow.KillTimer(103);
  53.         MainWindow_Minimize();
  54.     }
  55. }
  56.  
  57. function OnMessage(args)
  58. {    
  59.     /*
  60.     var hMainWndHandle;
  61.     hMainWndHandle = MainWindow.GetHandle();
  62.    
  63.     //SetForegroundWindow(hMainWndHandle);
  64.     BringWindowToTop(hMainWndHandle);
  65.     
  66.     ActiveWindow(hMainWndHandle);
  67.     shownewtask(args[3]);
  68.     */
  69.     dropstr=args[3];
  70.     drop_task_array.push(args[3]);
  71.   
  72.     
  73.     if (drop_task_process_time_running==false)
  74.     {
  75.         drop_task_process_time_running = true;
  76.         MainWindow.SetTimer(104, 100, "new_task_by_drop_timefunc");
  77.     }
  78.     
  79.  
  80.  
  81. }
  82.  
  83. function flvmain_init()
  84. {
  85.     MainWindow.ShowMessageBox = ShowMessageBox;
  86.     MainWindow.menubar.menuoffile.menuofnewtask.SetEnable(true);
  87.     MainWindow.menubar.menuoffile.menuoffileinfo.SetEnable(false);
  88.     MainWindow.menubar.menuoffile.menuofexit.SetEnable(true);
  89.     MainWindow.menubar.menuofedit.menuofselall.SetEnable(false);
  90.     MainWindow.menubar.menuofedit.menuofdeltask.SetEnable(false);
  91.     MainWindow.menubar.menuofedit.menuofdelfintask.SetEnable(false);
  92. //    MainWindow.menubar.menuofview.menuoflistview.SetEnable(false);
  93. //    MainWindow.menubar.menuofview.menuofthumbnailview.SetEnable(false);
  94.     MainWindow.menubar.menuofaction.menuofstart.SetEnable(false);
  95.     MainWindow.menubar.menuofaction.menuofpause.SetEnable(false);
  96.     MainWindow.menubar.menuofaction.menuofstop.SetEnable(false);
  97.     MainWindow.menubar.menuofaction.menuofplayvideo.SetEnable(false);
  98.     MainWindow.menubar.menuoftools.menuoflanguage.SetEnable(true);
  99.     MainWindow.menubar.menuofhelp.menuofupodhelp.SetEnable(true);
  100.     MainWindow.menubar.menuofhelp.menuofbuyproduct1.SetEnable(true);
  101.     MainWindow.menubar.menuofhelp.menuofbuyproduct2.SetEnable(true);
  102.     MainWindow.menubar.menuofhelp.menufeed.SetEnable(true);
  103.     MainWindow.menubar.menuofhelp.menuabout.SetEnable(true);
  104.     
  105.     flvmenupopup.menupopupbar.menupopup.menuofopentargetfoder.SetEnable(true);
  106.     flvmenupopup.menupopupbar.menupopup.menustart.SetEnable(false);
  107.     flvmenupopup.menupopupbar.menupopup.menupause.SetEnable(false);
  108.     flvmenupopup.menupopupbar.menupopup.menustop.SetEnable(false);
  109.     flvmenupopup.menupopupbar.menupopup.menudeletefinishtask.SetEnable(false);
  110.     flvmenupopup.menupopupbar.menupopup.menupreview.SetEnable(false);
  111.     flvmenupopup.menupopupbar.menupopup.menufileinfo.SetEnable(false);
  112.     flvmenupopup.menupopupbar.menupopup.menupreview.SetEnable(false);
  113.     
  114.     MainWindow.buttonnew.SetEnable(true);
  115.     MainWindow.buttonstop.SetEnable(false);
  116.     MainWindow.buttonpause.SetEnable(false);
  117.     MainWindow.buttondelete.SetEnable(false);
  118.     MainWindow.buttonfileinfo.SetEnable(false);
  119.     MainWindow.buttonpre.SetEnable(false);
  120.     MainWindow.buttonstart.SetEnable(false);
  121.     
  122.     if(IsWindowVisible(popwin))
  123.     {
  124.         popwin.Close();
  125.     }else if(IsWindowVisible(popupnotask))
  126.     {
  127.         popupnotask.Close();
  128.     }
  129.     
  130.  
  131.     if (cfgGetInt("general", "minstartup")!=0)
  132.     {
  133.         MainWindow_Minimize();
  134.     }
  135.         
  136.     if (cfgGetInt("general", "showdrop", 1)!=0)
  137.     {
  138.         settings.showdrop.SetCheck(1);
  139.         showpopup();
  140.     }
  141.     
  142.     g_ConfigObj.s_targetpath = GetDefaultOutputFolder();    
  143.     g_ConfigObj.b_rename=cfgGetInt("general","rename",1);
  144.     g_ConfigObj.b_AutoDeleteFinished = cfgGetInt("general", "autodelete", 0);
  145.     g_ConfigObj.b_x=cfgGetInt("general","cx",GetScreenX()-60);
  146.     g_ConfigObj.b_y=cfgGetInt("general","cy",20);
  147.     //g_upodutil.SetWindowMinisizeable(MainWindow.GetHandle());
  148. }
  149.  
  150. var WM_RBUTTONUP = 517;
  151. var WM_LBUTTONDBLCLK = 515;
  152.  
  153. function sysNotify(nMsg, ParentObj, ParmObj)
  154. {
  155.     switch(nMsg)
  156.     {
  157.         case WM_RBUTTONUP:
  158.             droppopup.dropmenupopupbar.dropmenupopup.Popup();
  159.             break;
  160.         case WM_LBUTTONDBLCLK:
  161.             //g_Systray.OpenSysTray();
  162.             hidemainwnd();
  163.             break; 
  164.     }
  165.     
  166. }
  167.  
  168. function LoadSavedTasks()
  169. {
  170.     //MainWindow.KillTimer(103);
  171.     //if (_g_debug_model)
  172.         //MainWindow.ShowMessageBox("Must load saved tasks", "debug info");
  173.      var TaskConfig = new JSIniFile();
  174.      TaskConfig.SetPath("upod.ini");
  175.      ExportObj(TaskConfig,"g_Config");
  176.      if(!g_Config.ReadFile())
  177.      {
  178.          g_Config.WriteFile();
  179.      }
  180.   var count=g_Config.GetValue("General","TaskCount",0);
  181.   for(var i=0;i<count;i++)
  182.   {
  183.       //var item1 = ["", upodurl, upodfilesize, upodprogress, proftype, upodpath];
  184.     //MainWindow.listctrlfiles.InsertItem(i,item1);
  185.     var str=g_Config.GetValue("task",i,"");
  186.     var splitstr=str.split(",/");
  187.     var item=["",splitstr[14],splitstr[15],splitstr[16],splitstr[4]];
  188.     var task=new Object;
  189.     task.st=splitstr[13];
  190.     task.taskid = -1;
  191.     task.filesize = -1;
  192.     task.filename = "";
  193.     task.lastProgress = 0;
  194.     ////             0            1         2               3             4           5         6        7            8        9           10       11        12    
  195.     //task.info = [isconvert, upodurl, upodfilesize, upodprogress, upodpath, proftype, profopt, isconvert, srcfile, targetfile, realurl, bjrename, flvtmppath];
  196.     task.info = [splitstr[0], splitstr[1], splitstr[2], splitstr[3], splitstr[4], splitstr[5], splitstr[6], splitstr[7], splitstr[8], splitstr[9], splitstr[10], splitstr[11], splitstr[12]];
  197.     
  198.     MainWindow.listctrlfiles.InsertItem(i,item);
  199.     MainWindow.listctrlfiles.SetItemData(i, task);
  200.     NewTaskSetItemStatus(i, task, task.st);
  201.     
  202.     if(task.st=="downloadling")
  203.        MainWindow.listctrlfiles.SetText(i,3,LanguageStr("_download"));
  204.     else if(task.st=="stopped")
  205.     {
  206.        MainWindow.listctrlfiles.SetText(i,3,LanguageStr("_stop"));
  207.     }else if(task.st=="finished")
  208.     {
  209.         MainWindow.listctrlfiles.SetText(i,3,LanguageStr("_finish"));
  210.     }
  211.     //TaskSetItemStatus(i, "waiting");
  212.   }    
  213.     
  214.         
  215. }
  216.  
  217. function savesettings()
  218.     SaveAllTasks();
  219.  
  220. }
  221.  
  222.  
  223.  
  224. function MainWindow_destroy()
  225. {  
  226.  
  227.    var ishavetask=0;
  228.  
  229.         for (var i=0; i<MainWindow.listctrlfiles.GetItemCount(); i++)
  230.         {
  231.             var task =MainWindow.listctrlfiles.GetItemData(i);    
  232.             if (task.st=="downloadling"||task.st=="converting"||task.st=="convert_paused")
  233.             {
  234.                 ishavetask=1;
  235.                 break;
  236.             }
  237.         }
  238.     
  239.     if(ishavetask==1)
  240.     {
  241.      
  242.       MainWindow.ShowMessageBox(LanguageStr("_flvmain_msg_taskworkingexit"), GetProductName(),2);
  243.       if(b_flag==0)
  244.          return;
  245.        
  246.         //  return false;
  247.     }
  248.  
  249.     savesettings();
  250.  
  251.    MainWindow.Close();
  252.  
  253.     
  254. }
  255.  
  256. function getisminwindow()
  257. {
  258.     if (cfgGetInt("general", "minstartup", 0)!=0)
  259.     {
  260.         MainWindow_Minimize();
  261.     }
  262. }
  263.  
  264. function getsuburl(upodurl)
  265. {
  266.     var start = upodurl.lastIndexOf("?") + 3;
  267.     var end = upodurl.length;
  268.     return upodurl.substr(start,end-start+1);
  269. }
  270.  
  271. function Addtolistctrl(upodurl, upodfilesize, upodprogress, upodpath,proftype,profopt,isconvert,srcfile,targetfile,realurl,bjrename)
  272. {    
  273.     
  274.     if (_g_debug_model)
  275.     {
  276.         SetWindowRedraw(MainWindow.listctrlfiles, false);
  277.         for (var i=0; i<1; i++)
  278.         {
  279.             TaskManager.AddTask(upodurl, upodfilesize, upodprogress, upodpath, proftype, profopt, isconvert, srcfile, targetfile, realurl, bjrename, GetTempFolder());
  280.             Sleep(100);
  281.         }
  282.         SetWindowRedraw(MainWindow.listctrlfiles, true);
  283.     }else
  284.     {
  285.         TaskManager.AddTask(upodurl, upodfilesize, upodprogress, upodpath, proftype, profopt, isconvert, srcfile, targetfile, realurl, bjrename, GetTempFolder());
  286.     }
  287. }
  288.  
  289.  
  290. function geturl()
  291. {
  292.     return newtask.newtaskpanelinfo.newtaskurlvalue.GetText();
  293. }
  294.  
  295. function startdownload(args)
  296. {
  297.     DoStartWorking();
  298. }
  299.  
  300.  
  301. function formatFloat(src, pos)
  302. {
  303.     return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
  304. }
  305.  
  306. function deletetask(args)
  307. {
  308.     DoDeleteTask();    
  309. }
  310.  
  311.  
  312. function deletefinishtask(args)
  313. {
  314.     DoDeleteFinishedTask();
  315. }
  316.  
  317. ////////////////////////////////////////////////////////////
  318. function pauseconvert(args)
  319. {
  320.     DoPauseConverting();
  321. }
  322.  
  323. function stopdownload(args)
  324. {
  325.     DoStopWorking();
  326. }
  327.  
  328. //////////////////////////////////////////////////////////////////
  329. function flv_listrclick(args)
  330. {
  331.     with (MainWindow)
  332.     {
  333.         var b_start = false;
  334.         var b_pause = false;
  335.         var b_stop = false;
  336.         var b_delete = false;
  337.         var b_file_info = false;
  338.         var b_play = false;
  339.         var b_delete_finished = false;
  340.         
  341.         var b_select_all = false;
  342.         
  343.         var b_open_target = 0;
  344.         var bj_play=0;
  345.     
  346.         for (var i=0; i<listctrlfiles.GetItemCount(); i++)
  347.         {
  348.             if (b_delete_finished==false)
  349.             {
  350.                 var task = listctrlfiles.GetItemData(i);
  351.                 if (task.st=="finished")
  352.                 {
  353.                     b_delete_finished = true;
  354.                 }
  355.             }
  356.             
  357.             if (listctrlfiles.IsSelected(i))
  358.             {  
  359.                 bj_play++;
  360.                 var task = listctrlfiles.GetItemData(i);
  361.                 b_delete = true;
  362.                 
  363.                 b_open_target ++;
  364.                 
  365.                 if (b_start==false && TaskCanStart(task))
  366.                 {
  367.                     b_start = true;
  368.                 }
  369.                 
  370.                 if (b_pause==false && TaskCanPause(task))
  371.                 {
  372.                     b_pause = true;
  373.                 }
  374.                 
  375.                 if (b_stop==false && TaskCanStop(task))
  376.                 {
  377.                     b_stop = true;
  378.                 }
  379.                 
  380.                 
  381.                 if (b_file_info==false && task.st=="finished")
  382.                 {
  383.                     b_file_info = true;
  384.                     b_play = true;
  385.                 }
  386.             }
  387.         }
  388.         if(bj_play>1)
  389.         {
  390.             b_file_info = false;
  391.             b_play = false;
  392.         }
  393.         
  394.         buttonstart.SetEnable(b_start);
  395.         buttonstop.SetEnable(b_stop);
  396.         buttonpre.SetEnable(b_play);
  397.         buttonfileinfo.SetEnable(b_file_info);
  398.         buttondelete.SetEnable(b_delete);
  399.         buttonpause.SetEnable(b_pause);
  400.  
  401.         menubar.menuoffile.menuoffileinfo.SetEnable(b_file_info);
  402.         //menubar.menuofedit.menuofselall.SetEnable(b_select_all);
  403.             
  404.         menubar.menuofedit.menuofdeltask.SetEnable(b_delete);
  405.         menubar.menuofedit.menuofdelfintask.SetEnable(b_delete_finished);        // ???
  406.                 
  407.         menubar.menuofaction.menuofstart.SetEnable(b_start);
  408.         menubar.menuofaction.menuofpause.SetEnable(b_pause);
  409.         menubar.menuofaction.menuofstop.SetEnable(b_stop);
  410.         menubar.menuofaction.menuofplayvideo.SetEnable(b_play);
  411.         
  412.         
  413.         
  414.         with (flvmenupopup.menupopupbar.menupopup)
  415.         {
  416.             var count = listctrlfiles.GetItemCount();
  417.             menustart.SetEnable(b_start);
  418.             menupreview.SetEnable(b_play);
  419.             menufileinfo.SetEnable(b_file_info);
  420.             menudeletetask.SetEnable(b_delete);
  421.             menudeletefinishtask.SetEnable(b_delete_finished);
  422.             menuofopentargetfoder.SetEnable(b_open_target==1);
  423.             menupause.SetEnable(b_pause);
  424.             menustop.SetEnable(b_stop);
  425.             Popup();
  426.         }
  427.         
  428.         
  429.         
  430.     }
  431. }
  432.  
  433. function flv_listitemclick(item)
  434. {
  435.     UpdateUIStatus();    
  436. }
  437.  
  438. //////////////////////////////////////////////////////////////////
  439.  
  440. //////////////////////////////////////////////////////////////////
  441.  
  442. var drop_task_array = new Array();
  443. var drop_task_loas_count = 0;
  444. var drop_task_process_time_running = false;
  445.  
  446.  
  447. function listctrldropfile(args)
  448. {
  449.   /* 
  450.    var hMainWndHandle;
  451.     hMainWndHandle = MainWindow.GetHandle();
  452. //    BringWindowToTop(hMainWndHandle);
  453.     SetForegroundWindow(hMainWndHandle);
  454. //    drop_task_array.push(args[2]);
  455.     var n_len = args[2].length;
  456.  
  457. if (   args[2].Substring(0,31)!=file1 
  458.             && args[2].Substring(0,27)!=file2
  459.             && args[2].Substring(n_len-4, n_len)!=".flv"
  460.             )
  461.         {
  462.             MainWindow.ShowMessageBox(LanguageStr("_invalid_file_path"), GetProductName(),1);
  463.         
  464.             return ;
  465.             //continue;
  466.         }
  467.     
  468.     
  469.     
  470.     shownewtask(args[2]);*/
  471.     dropstr=args[2];
  472.     
  473.     drop_task_process_time_running = false;
  474.   
  475.     if (drop_task_process_time_running==false)
  476.     {
  477.         drop_task_process_time_running = true;
  478.         MainWindow.SetTimer(104, 100, "new_task_by_drop_timefunc()");
  479.     }
  480. }
  481.  
  482. function ondropfile11(args)
  483. {
  484.  
  485.     if (   args[2].substr(0,31)!=file1 
  486.             && args[2].substr(0,27)!=file2
  487.             )
  488.         {
  489.             MainWindow.ShowMessageBox(LanguageStr("_invalid_file_path"), GetProductName(),1);
  490.            
  491.             return ;
  492.             //continue;
  493.         }
  494.     
  495.     listctrldropfile(args);
  496.     
  497. }
  498.  
  499. //avoid to make the IE or browser not be disabled
  500. function new_task_by_drop_timefunc()
  501. {    
  502.     if (drop_task_loas_count<drop_task_array.length)
  503.     {
  504.         drop_task_loas_count = drop_task_array.length;
  505.         
  506.         return;
  507.     }
  508.             
  509.     if (IsWindowVisible(newtask))
  510.     { 
  511.         return;
  512.     }
  513.         
  514.     MainWindow.KillTimer(104);
  515.         
  516.     var process_tasks = drop_task_array.splice(0, drop_task_array.length);
  517.     process_tasks.sort();
  518.             
  519.     drop_task_loas_count = 0;
  520.     drop_task_process_time_running = false;
  521.     
  522.     SetForegroundWindow(MainWindow.GetHandle());
  523.     
  524.     //MainWindow.listctrlfiles.height=340;
  525.     //MainWindow.pel.height=0;
  526.     
  527.   
  528.     for (var i=0; i<process_tasks.length; i++)
  529.     {
  530.         var s_item = process_tasks[i];
  531.         var n_len = s_item.length;
  532.     
  533.         if (   s_item.substr(0,31)!=file1 
  534.             && s_item.substr(0,27)!=file2
  535.             && s_item.substr(n_len-4, 4)!=".flv"
  536.             )
  537.         {
  538.             MainWindow.ShowMessageBox(LanguageStr("_invalid_file_path"), GetProductName(),1);
  539.             b_wind=false;
  540.             return ;
  541.             //continue;
  542.         }
  543.     
  544.     }    
  545.  
  546.    shownewtask(dropstr);
  547.    dropstr="";
  548.   
  549.  
  550.   
  551.  
  552. }
  553.  
  554.  
  555. function opentargetfile()
  556. {
  557.    var sel = MainWindow.listctrlfiles.GetCurSel();  
  558.    var selitem = MainWindow.listctrlfiles.GetItem(sel[1]);
  559.    var path=selitem[4];
  560.  
  561.    if(path>4)
  562.    path+="\\";
  563.    helper.Helper_OpenFolder(path);
  564.    
  565. }
  566. //////////////////////////////////////////////////////////////////
  567.  
  568. function playvideo()
  569. {
  570. /*    
  571.     var sel = MainWindow.listctrlfiles.GetCurSel();  
  572.     var selitem = MainWindow.listctrlfiles.GetItem(sel[1]);
  573.     var filename = "";
  574.     
  575.     for(var i = 0;i < finishlist[0];i = i+2)
  576.     {
  577.         if(sel[1] == finishlist[i + 1])
  578.         {
  579.             filename = finishlist[i + 2];
  580.             break;
  581.         }
  582.     }
  583.     if(helper.Helper_IsFileExist(selitem[5]+filename+"."+selitem[4])==1)
  584.     {
  585.        preview.ShowModalLess();
  586.        play(selitem[5] + filename + "." + selitem[4]);
  587.     }
  588. */
  589.  
  590.     var sel = MainWindow.listctrlfiles.GetCurSel();  
  591.     
  592.     if (sel[0]<=0)
  593.         return;
  594.         
  595.     
  596.         var task = MainWindow.listctrlfiles.GetItemData(sel[1]);
  597.         if (task.st=="finished")
  598.         {
  599.             var selitem = MainWindow.listctrlfiles.GetItem(sel[1]);
  600.             if(helper.Helper_IsFileExist(selitem[4]+selitem[1]+"."+"flv")==1)
  601.             {
  602.                 
  603.                 var s_TaskSavedFile ="player.ini";
  604.                 var TaskConfig = new JSIniFile();
  605.                 TaskConfig.SetPath(s_TaskSavedFile);
  606.                 
  607.                  TaskConfig.SetValue("general","skin",cfgGetString("general","skin","newskin"));
  608.                  TaskConfig.SetValue("general","language",cfgGetString("general","language","English"));
  609.                  TaskConfig.WriteFile();
  610.                  TaskConfig = null;    
  611.                  var playerfilename=selitem[4]+selitem[1]+"."+"flv";
  612.                  if(!helper.Helper_IsPlayerVisible())
  613.                      helper.Helper_StartUpModule("ImTOO FLV Player.exe",0);
  614.                  var szCmd;
  615.                  szCmd = "-file " + "\"" + playerfilename + "\"";
  616.                  helper.Helper_StartUpModule("ImTOO FLV Player.exe",szCmd);
  617.                 
  618.                    
  619.             }else
  620.             {
  621.                 MainWindow.ShowMessageBox(LanguageStr("_file_not_exist"),GetProductName(),1);
  622.                 
  623.             }
  624.         
  625.         }
  626.     
  627. }
  628. //////////////////////////////////////////////////////////////////
  629.  
  630. function getfileinfo()
  631. {
  632.     var sel = MainWindow.listctrlfiles.GetCurSel();  
  633.     
  634.     if (sel[0]<=0)
  635.         return;
  636.         
  637.     
  638.         var task = MainWindow.listctrlfiles.GetItemData(sel[1]);
  639.         if (task.st=="finished")
  640.         {
  641.             var selitem = MainWindow.listctrlfiles.GetItem(sel[1]);
  642.             if(helper.Helper_IsFileExist(selitem[4]+selitem[1]+"."+"flv")==1)
  643.             {
  644.                 GetFileInfo(selitem[4]+selitem[1]+"."+"flv");
  645.                 fileinfos.ShowModal();
  646.                 
  647.             }
  648.             else
  649.             {
  650.                 MainWindow.ShowMessageBox(LanguageStr("_file_not_exist"),GetProductName(),1);
  651.                 
  652.             }
  653.             
  654.         }
  655.     
  656.     
  657.     return;
  658.     
  659. /*    
  660.     for(var i = 0;i < finishlist[0];i = i+2)
  661.     {
  662.         if(sel[1] == finishlist[i + 1])
  663.         {
  664.             filename = finishlist[i+2];
  665.             break;
  666.         }
  667.     }
  668. */
  669. }
  670.  
  671. function gotoyoutube()
  672. {
  673.     GotoUrl("http://www.youtube.com");
  674. }
  675.  
  676. function SelectAll()
  677. {
  678.     MainWindow.listctrlfiles.SelectAll();
  679.     UpdateUIStatus();
  680.     
  681. }
  682. //////////////////////////////////////////////////////////////////
  683. //////////////////////////////////////////////////////////////////
  684. function setenglish()
  685. {
  686.     ChangeLanguage("English");
  687.     if(helper.Helper_IsPlayerVisible())
  688.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-language English");
  689. }
  690. //////////////////////////////////////////////////////////////////
  691. function setchinese()
  692. {
  693.     ChangeLanguage("Chinese(Simplified)");
  694.     if(helper.Helper_IsPlayerVisible())
  695.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-language Chinese(Simplified)");
  696. }
  697.  
  698. function setgerman()
  699. {
  700.     ChangeLanguage("Deutsch");
  701.     if(helper.Helper_IsPlayerVisible())
  702.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-language Deutsch");
  703. }
  704.  
  705. function setjapan()
  706. {      
  707.     ChangeLanguage("Japanese");
  708.     if(helper.Helper_IsPlayerVisible())
  709.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-language Japanese");
  710. //////////////////////////////////////////////////////////////////
  711.  
  712. //////////////////////////////////////////////////////////////////
  713. function setdefaultskin()
  714. {
  715.     ChangeSkin("newskin");    
  716.     if(helper.Helper_IsPlayerVisible())
  717.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-skin newskin");
  718. }
  719.  
  720. function zidingyiskin()
  721. {
  722.     ChangeSkin("upod_green");
  723.     if(helper.Helper_IsPlayerVisible())
  724.     helper.Helper_StartUpModule("ImTOO FLV Player.exe","-skin upod_green");
  725. }
  726.  
  727. function shownewtask(filename)//target should show
  728. {
  729.     //if (_g_debug_model && newtask.newtaskpanelinfo.newtaskurlvalue.GetText()=="")
  730.         //newtask.newtaskpanelinfo.newtaskurlvalue.SetText("http://www.youtube.com/watch?v=SmA8fDPFxlY");
  731.     if (IsWindowVisible(newtask))
  732.     { 
  733.         return;
  734.     }
  735.  
  736.     
  737.     newtask.ShowMessageBox = ShowMessageBox;
  738.     newtask.newtaskpanelinfo.newtasksaveto.SetText(GetDefaultOutputFolder());
  739.  
  740.     if(cfgGetInt("general","rename",0)==1)//
  741.     {
  742.      newtask.newtaskpanelinfo.checkrename.SetCheck(true);
  743.      newtask.newtaskpanelinfo.rename.SetEnable(false);
  744.      newtask.newtaskpanelinfo.newtaskfilename.SetText("");
  745.      newtask.newtaskpanelinfo.newtaskfilename.SetEnable(false);
  746.     }
  747.     else
  748.     {
  749.      newtask.newtaskpanelinfo.checkrename.SetCheck(false);
  750.      //newtask.newtaskpanelinfo.checkrename.SetCheck(true);
  751.      newtask.newtaskpanelinfo.rename.SetEnable(true);
  752.      newtask.newtaskpanelinfo.newtaskfilename.SetEnable(true);
  753.     }
  754.     
  755.   
  756.    // newtask.newtaskpanelinfo.rename.SetEnable(false);
  757.  
  758.     if(filename.length>20)
  759.     {
  760.      
  761.       newtask.newtaskpanelinfo.newtaskurlvalue.SetText(filename);
  762.      // newtask.newtaskpanelinfo.newtaskurlvalue.SetText("");
  763.      
  764.     }
  765.     else
  766.     {
  767.         var file1="http://www.youtube.com/watch?v=";
  768.       
  769.         var handle1=newtask.GetHandle();    
  770.           var clipstr=GetClipBoxText(handle1);
  771.       
  772.           if ( clipstr.length>30&& clipstr.substr(0,31)==file1 )
  773.           {
  774.           
  775.           newtask.newtaskpanelinfo.newtaskurlvalue.SetText(clipstr);
  776.         }
  777.           else
  778.           {
  779.            newtask.newtaskpanelinfo.newtaskurlvalue.SetText("");
  780.         }
  781.        
  782.       //newtask.newtaskpanelinfo.newtaskurlvalue.SetText("");
  783.     }
  784.     
  785.     newtask.ShowModal();
  786.  
  787.     g_upodutil.SetForegroundWindow(MainWindow.GetHandle());
  788.     SetForegroundWindow(MainWindow);
  789. }
  790.  
  791.  
  792. function showpreview()
  793. {
  794.     var s_TaskSavedFile ="player.ini";
  795.     var TaskConfig = new JSIniFile();
  796.     TaskConfig.SetPath(s_TaskSavedFile);
  797.     
  798.      TaskConfig.SetValue("general","skin",cfgGetString("general","skin","newskin"));
  799.      TaskConfig.SetValue("general","language",cfgGetString("general","language","English"));
  800.      TaskConfig.WriteFile();
  801.      TaskConfig = null;    
  802.     
  803.     if(!helper.Helper_IsPlayerVisible())
  804.     helper.Helper_StartUpModule("ImTOO FLV Player.exe",0);
  805.     
  806.     
  807. }
  808.  
  809. ///        help menu process functions         \\\
  810.  
  811. function OnHelp(args)
  812. {
  813.     var urlstr ="ImTOO Download YouTube Video.chm";
  814.     if(urlstr.length <= 0)
  815.     {
  816.         return 1;
  817.     }
  818.     
  819.     GotoUrl(urlstr);
  820. }
  821.  
  822. function onBuy1(args)
  823. {
  824.     var urlstr = "http://www.imtoo.com/youtube-video-converter.html";
  825.     GotoUrl(urlstr);
  826. }
  827.  
  828. function onBuy2(args)
  829. {
  830.     var urlstr = "http://www.imtoo.com/youtube-to-ipod-converter.html";
  831.     GotoUrl(urlstr);
  832. }
  833.  
  834.  
  835. function onSupport(args)
  836. {
  837.     var urlstr = Product.GetSupportUrl();
  838.     if(urlstr.length <= 0)
  839.     {
  840.         return 1;
  841.     }
  842.  
  843.     GotoUrl(urlstr);
  844. }
  845.  
  846.  
  847.  
  848. function onAbout(args)
  849. {
  850.     AboutWindow.abouttitle.SetText(LanguageStr("_flvmain_menu_about")+" "+GetProductName());
  851.     AboutWindow.productname.SetText(GetProductName());
  852.     AboutWindow.productid.SetText(Product.GetVersion());
  853.     AboutWindow.url1.SetLink(Product.GetCompanyUrl());
  854.     AboutWindow.url1.SetText(Product.GetCompanyName());
  855.     AboutWindow.ShowModal();
  856. }
  857. var bjfudong=0;
  858. function showpopup()
  859. {   
  860.  
  861.     
  862.     if(TaskManager.RunningCount==0)
  863.     {   
  864.     
  865.     
  866.             var cx=cfgGetInt("general","cx",GetScreenX()-60);
  867.             var cy=cfgGetInt("general","cy",20);    
  868.             popupnotask.SetPosition(cx,cy,48,48);    
  869.             popupnotask.ShowModalLess();
  870.             bjfudong=1;
  871.        
  872.     }
  873.     else
  874.     {  
  875.         var cx=cfgGetInt("general","cx",GetScreenX()-60);
  876.         var cy=cfgGetInt("general","cy",20);
  877.         popwin.SetPosition(cx,cy,48,48);
  878.         popwin.panel1.SetVisible(true);
  879.         popwin.panel2.SetVisible(false);
  880.         popwin.ShowModalLess();
  881.         bjfudong=2;
  882.       
  883.     }
  884.      droppopup.dropmenupopupbar.dropmenupopup.menushowdrop.SetCheck(true);
  885.   
  886.     /*popupnotask.SetPosition(x-60,20,48,48);
  887.     popupnotask.ShowModalLess();*/
  888. }
  889.  
  890. function fudong_control()
  891. {
  892.   if(cfgGetInt("general","showdrop",0)==0)//if exist close it
  893.     { 
  894.         if(IsWindowVisible(popwin)||IsWindowVisible(popupnotask))
  895.         {
  896.             fudong_close();
  897.             cfgSetInt("general","showdrop",0);
  898.         }else
  899.         return;
  900.         
  901.     }
  902.    
  903.    else//show it 
  904.    {
  905.      showpopup();
  906.      cfgSetInt("general","showdrop",1);
  907.    }
  908. }
  909. function fudong_control1()
  910. {
  911.   if(IsWindowVisible(popwin)||IsWindowVisible(popupnotask))//if exist close it
  912.     { 
  913.         fudong_close();
  914.         cfgSetInt("general","showdrop",0);
  915.         
  916.     }
  917.    else//show it 
  918.    {
  919.      showpopup();
  920.      cfgSetInt("general","showdrop",1);
  921.    }
  922. }
  923.  
  924. function winhover(args)
  925. {
  926.     popwin.SetAlpha(255);
  927. }
  928.  
  929. function winleave(args)
  930. {
  931.     popwin.SetAlpha(120);
  932. }
  933.  
  934. var b_wind=false;
  935. function windropfile(args)
  936. {
  937.     if(IsWindowVisible(newtask))
  938.     return ;
  939.     b_wind=true;
  940.     listctrldropfile(args);
  941. }
  942.  
  943. function closemainwnd()
  944. {
  945.     MainWindow_Minimize();
  946. }
  947.  
  948. //    ???
  949.  
  950. function hidemainwnd()
  951. {//tray
  952.     if (IsWindowVisible(MainWindow))
  953.     {
  954.         MainWindow_Minimize();
  955.         //hide=1;
  956.     }
  957.     else 
  958.     { 
  959.         MainWindow.RestoreWindow();
  960.     
  961.     
  962.     }
  963. }
  964. function fudong_close()
  965. {
  966.   if(bjfudong==2)
  967.   {
  968.    cfgSetInt("general","cx",popwin.GetWindowLeft());
  969.    cfgSetInt("general","cy",popwin.GetWindowTop());
  970.    popwin.Close();
  971.   }
  972.   if(bjfudong==1)
  973.   {
  974.     cfgSetInt("general","cx",popupnotask.GetWindowLeft());
  975.     cfgSetInt("general","cy",popupnotask.GetWindowTop());
  976.     popupnotask.Close();
  977.   }
  978.   droppopup.dropmenupopupbar.dropmenupopup.menushowdrop.SetCheck(false);
  979.   bjfudong=0;
  980. }
  981.  
  982.  
  983. function LoadConfig()
  984. {
  985.     //var s_lang = GetLanguage();    //    "Chinese(Simplified)"        //    ???
  986.  
  987.     //RefreshLanguage(s_lang);
  988.     LoadLanguageStartup();
  989.     
  990.     LoadSkinStartup();
  991.     
  992.     TaskManager.MaxtTask = cfgGetInt("general", "maxtask", 3);
  993.     if (TaskManager.MaxtTask<=0 || TaskManager.MaxtTask>10)
  994.     {
  995.         TaskManager.MaxtTask = 3;
  996.         cfgGetInt("general", "maxtask", TaskManager.MaxtTask);
  997.     }
  998.         
  999.  
  1000. }
  1001.  
  1002.  
  1003.  
  1004. function StartupTestRegister()
  1005. {    
  1006.     /*
  1007.     var reginfo = Product.GetRegInfo();
  1008.     
  1009.     RegWindow.regname.SetText(reginfo[0]);
  1010.     
  1011.     if (Product.IsValidateReg())
  1012.     {            
  1013.         RegWindow.regname.SetText(reginfo[0]);
  1014.         return;
  1015.     }
  1016.  
  1017.     var dayleft=helper.Helper_CanRun();
  1018.     if(dayleft>0&&dayleft<=14)
  1019.     {
  1020.         //regbefore.range1.SetText(dayleft);
  1021.         var limitstr = LanguageStr("_registration_label_limitation");
  1022.         var newstring=limitstr.replace("d%",dayleft);
  1023.         regbefore.ShowMessageBox = ShowMessageBox;
  1024.         
  1025.         regbefore.limit.SetText(newstring);
  1026.         
  1027.         regbefore.regname.SetText(reginfo[0]);
  1028.         
  1029.         regbefore.ShowModal();
  1030.     
  1031.     }
  1032.     else if(dayleft==0)
  1033.     {
  1034.         var expirestr=LanguageStr("_registration_label_limitation2");
  1035.         
  1036.         regbefore.ShowMessageBox = ShowMessageBox;
  1037.         
  1038.         regbefore.limit.SetText(expirestr);
  1039.         regbefore.reglater.SetEnable(false);
  1040.         regbefore.ShowModal();    
  1041.         //MainWindow.SetTimer(102,100,"checkmainwndvisible");
  1042.     }
  1043.     */
  1044. }
  1045.  
  1046.  
  1047.  
  1048.  
  1049. var tray=0;
  1050. function MainWindow_Minimize()
  1051. {
  1052.     if(tray==1)
  1053.     {
  1054.         g_Systray.DeleteSysTray();
  1055.         var mainhandle=MainWindow.GetHandle();
  1056.         g_Systray.SetParentWnd(mainhandle);
  1057.         g_Systray.AddSysTray("upod_16.ico", sysNotify);
  1058.     
  1059.     }
  1060.     
  1061.     if(tray==0)
  1062.     {
  1063.         var mainhandle=MainWindow.GetHandle();
  1064.         g_Systray.SetParentWnd(mainhandle);
  1065.         g_Systray.AddSysTray("upod_16.ico", sysNotify);
  1066.         tray=1;    
  1067.    }
  1068.     
  1069. }
  1070. function msgok()
  1071. {
  1072.     normal.Close();
  1073.     
  1074. }
  1075.  
  1076. function specialmsgok()
  1077. {
  1078.     special.Close();
  1079.     b_flag=1;
  1080. }
  1081. function specialmsgcancel()
  1082. {
  1083.     special.Close();
  1084.     b_flag=0;
  1085.     
  1086. }
  1087.  
  1088.  //chenzhong start
  1089.  
  1090.  LoadLib("MemoryShare.dll");      
  1091.  var MemoryShare = new JSMemoryShare();     
  1092.   MemoryShare.MemoryShare_Init();
  1093.   
  1094.  
  1095.  function OnSyncSkin(args)
  1096.  
  1097.  {
  1098.      
  1099.  
  1100.      ChangeSkin(args[3]);
  1101.  //    cfgSetString("general","skin",args[3]);
  1102.  
  1103.  
  1104.  }
  1105.  
  1106.  
  1107.  
  1108.  function OnSyncLanguage(args)
  1109.  
  1110.  {
  1111.  
  1112.      ChangeLanguage(args[3]);
  1113.  
  1114.      //cfgSetString("general","language",args[3]);
  1115.  
  1116.  }
  1117.  
  1118.  
  1119. MainWindow.RegisterSysMenuHandle("sysmenuhandle");
  1120.  
  1121.  
  1122.  
  1123. function sysmenuhandle(args)
  1124.  
  1125. {
  1126.  
  1127.     var mess = args[2];
  1128.  
  1129.     if(mess == 61472)
  1130.  
  1131.     {
  1132.  
  1133.         MainWindow_Minimize();
  1134.  
  1135.         return false;
  1136.  
  1137.     }
  1138.  
  1139.     return true;
  1140.  
  1141. }