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 >
Text File  |  2007-09-11  |  26KB  |  1,118 lines

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