home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Theme / 8GadgetPack / 8GadgetPackSetup.msi / Gadgets.7z / Gadgets / AppLauncher.gadget / js / settings.js < prev    next >
Text File  |  2010-04-18  |  22KB  |  806 lines

  1. // copyright 2007 Dean Laforet, Simon Paterson
  2. // do not use or modify code without permission.
  3.  
  4. var specialLinksArray = ["My Computer","Network","Control Panel Category","Control Panel Classic","Internet Explorer","Recycle Bin","IE Favorites","Firefox Bookmarks","Opera Bookmarks"];
  5.  
  6. var wh = "?width=18&height=18";
  7.  
  8. var bDebug = oFSO.FileExists(gadgetPath+"\\debugset.txt");
  9. try{
  10.     if (bDebug)
  11.         var debugLogFile = oFSO.OpenTextFile(gadgetPath+"\\debugset.txt", 2);
  12. } catch(err) {bDebug = false;}
  13.  
  14. document.onreadystatechange = function(){    
  15.   if(document.readyState=="complete"){
  16.     try{
  17.     loadSettings();
  18.     } catch(err) {debugLog("onLoad: "+err.name+" - "+err.message)}
  19.     }
  20. }
  21.  
  22. function loadSettings(){
  23. try{
  24.   getLinks();
  25.  
  26.     if (linksList.length == 0){
  27.         DisplayNoLinks(true);
  28.     }
  29.     else{
  30.     checkDefaults();
  31.         bldShortCuts();
  32.         DisplayNoLinks(false);
  33.     }
  34.     setRbIcons();
  35.   $("rbEmptyIcon").src = "gimage:///" + rbEmpty + "?width=32&height=32";
  36.   $("rbFullIcon").src = "gimage:///" + rbFull + "?width=32&height=32";
  37.   countBackgrounds();
  38.     setBgColor();
  39.   createColorChooser();
  40.  
  41.   if (settingsTipsSetting == 1){
  42.     removeToolTips();
  43.   }
  44.  
  45.   linkSelect.options.selectedIndex = targetLink;
  46.   perRowSelect.options.selectedIndex = perRowSetting;
  47.   dragSelect.options.selectedIndex = dragSetting;
  48.   infoSelect.options.selectedIndex = infoSetting;
  49.   folderSelect.options.selectedIndex = folderSetting;
  50.   centreSelect.options.selectedIndex = centreSetting;
  51.   settingsTipsSelect.options.selectedIndex = settingsTipsSetting;
  52.   folderOpenSelect.options.selectedIndex = folderOpenSetting;
  53.   filterExtSelect.options.selectedIndex = filterExtSetting;
  54.   LdeleteSelect.options.selectedIndex = LdeleteSetting;
  55.   FdeleteSelect.options.selectedIndex = FdeleteSetting;
  56.   cornerSelect.options.selectedIndex = cornerSetting;
  57.   tabsSelect.options.selectedIndex = tabsSetting;
  58. } catch(err) {debugLog("LoadSettings: "+err.name+" - "+err.message)}
  59. }
  60.  
  61. System.Gadget.onSettingsClosing = function(event){
  62.     if (event.closeAction == event.Action.commit){
  63.     saveShortcuts();
  64.     write("BgSetting", bgSetting);
  65.         write("FilterExtSetting", filterExtSelect.options.selectedIndex);
  66.         write("FDeleteSetting", FdeleteSelect.options.selectedIndex);
  67.     write("TextColorSetting", textColorSetting);
  68.     }
  69.     event.cancel = false;
  70. }
  71.  
  72. function saveShortcuts(){
  73. try{
  74.   writeFilePathsFile();
  75.     writeIconPathsFile();
  76.   writeSwitchFile();
  77.  
  78.     if (oFSO.FileExists(settingsFile)){
  79.         oFSO.DeleteFile(settingsFile, true);
  80.     }
  81.     var oFile = oFSO.CreateTextFile(settingsFile, true);
  82.     oFile.WriteLine(linkSelect.options.selectedIndex);
  83.     oFile.WriteLine(perRowSelect.options.selectedIndex);
  84.     oFile.WriteLine(dragSelect.options.selectedIndex);
  85.     oFile.WriteLine(bgSetting);
  86.     oFile.WriteLine(infoSelect.options.selectedIndex);
  87.     oFile.WriteLine(folderSelect.options.selectedIndex);
  88.     oFile.WriteLine(centreSelect.options.selectedIndex);
  89.     oFile.WriteLine(settingsTipsSelect.options.selectedIndex);
  90.     oFile.WriteLine(folderOpenSelect.options.selectedIndex);
  91.     oFile.WriteLine(filterExtSelect.options.selectedIndex);
  92.     oFile.WriteLine(LdeleteSelect.options.selectedIndex);
  93.     oFile.WriteLine(FdeleteSelect.options.selectedIndex);
  94.     oFile.WriteLine(textColorSetting);
  95.     oFile.WriteLine(cornerSelect.options.selectedIndex);
  96.     oFile.WriteLine(tabsSelect.options.selectedIndex);
  97.     oFile.Close();
  98. } catch(err) {debugLog("saveShortcuts: "+err.name+" - "+err.message)}
  99. }
  100.  
  101. function getFocus() { self.focus(); }
  102.  
  103. function DisplayNoLinks(tf){
  104. try{
  105.     if (tf){
  106.         iViewList.style.display = "none";
  107.         idNoShortcutList.style.display = "";
  108.         $("L_REMOVE").disabled=true;
  109.         $("L_CHANGE").disabled=true;
  110.         $("L_RESET").disabled=true;
  111.         $("L_ARG").disabled=true;
  112.         setTimeout("getFocus()", 300);
  113.     }
  114.     else{
  115.         iViewList.style.display  = "";
  116.         idNoShortcutList.style.display = "none";
  117.         $("L_REMOVE").disabled=false;       
  118.         $("L_CHANGE").disabled=false;       
  119.         $("L_RESET").disabled=false;       
  120.         $("L_ARG").disabled=false;       
  121.         setTimeout("getFocus()", 300);
  122.     }
  123. } catch(err) {debugLog("DisplayNoLinks: "+err.name+" - "+err.message)}
  124. }
  125.  
  126. function bldShortCuts(){
  127. try{
  128.     img = null;
  129.     thisPath = null;
  130.     arFileName = null;
  131.     while (iItemTbl.rows.length > 0) { iItemTbl.deleteRow(0); }
  132.     for (var i = 0;i < linksList.length ; i++){
  133.     if (linksList[i] != null){
  134.       getFilePaths(i);
  135.  
  136.       showArg = switchList[i];
  137.       if (showArg == "none"){
  138.         showArg = "";
  139.       }
  140.       argLabel = "Commands to pass to " + label;
  141.       if (allowSwitch == "no"){
  142.         argLabel = "You can not set arguments for this object.";
  143.       }
  144.  
  145.             row = iItemTbl.insertRow(i);  
  146.  
  147.             cell = row.insertCell();
  148.             cell.style.whiteSpace = "nowrap";
  149.             id = "r"+ i + "c0";
  150.       if (i == (linksList.length-1)) showDown = '<img src="images/blank.png" />';
  151.       else showDown = '<img src="images/down.png" onclick="moveDown('+i+');return false;" onmouseover="overIt();" onmouseout="notOverIt();" />';
  152.       if (i == 0) showUp = '<img src="images/blank.png" />';
  153.       else showUp = '<img src="images/up.png" onclick="moveUp('+i+');return false;" onmouseover="overIt();" onmouseout="notOverIt();" />';
  154.  
  155.             cell.innerHTML = showUp + " " + showDown + " <input type=\"checkbox\" id=\"" + id + "\" onfocus=\"blur();\" />";
  156.  
  157.             cell = row.insertCell();
  158.             id = "r"+i + "c1";
  159.             var oImg = document.createElement("img");
  160.             oImg.src = img;
  161.             oImg.title = label;
  162.             oImg.width = 18;
  163.             oImg.height = 18;
  164.             cell.appendChild(oImg);
  165.             cell.width = 25;
  166.  
  167.             cell = row.insertCell();
  168.             cell.width = 150;
  169.             id = "r"+ i + "c3";
  170.             var oSpan = document.createElement("span");
  171.             oSpan.id = id;
  172.             oSpan.className = "spanFld";
  173.             oSpan.setAttribute("title",thisPath);
  174.             oSpan.setAttribute("link",allowSwitch);
  175.             oSpan.innerText = label;
  176.             cell.appendChild(oSpan);
  177.  
  178.             cell = row.insertCell();
  179.             cell.width = 110;
  180.             id = "r"+ i + "c4";
  181.             var oSpan = document.createElement("span");
  182.             oSpan.id = id;
  183.             oSpan.className = "argFld";
  184.             oSpan.setAttribute("title",argLabel);
  185.             oSpan.innerText = showArg;
  186.             cell.appendChild(oSpan);
  187.         }
  188.     }
  189.     setTimeout("getFocus()", 300);
  190. } catch(err) {debugLog("bldShortCuts: "+err.name+" - "+err.message)}
  191. }
  192.  
  193. function getFilePaths(i){
  194. try{
  195.   allowSwitch = "yes";
  196.     thisPath = linksList[i];
  197.     filePath = thisPath;
  198.     label = oFSO.GetFileName(thisPath);
  199.  
  200.     if (label == ""){
  201.         label = "Drive - "+thisPath;
  202.     }
  203.  
  204.     if (thisPath == "My Computer"){
  205.         filePath = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
  206.         label = thisPath;
  207.         img = myComp;
  208.     allowSwitch = "no";
  209.     }
  210.     else if (thisPath == "Network"){
  211.         filePath = "::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}";
  212.         label = thisPath;
  213.         img = network;
  214.     allowSwitch = "no";
  215.     }
  216.     else if (thisPath == "Network VAIO"){
  217.         filePath = "::{7007ACC7-3202-11D1-AAD2-00805FC1270E}";
  218.         label = thisPath;
  219.         img = network;
  220.     allowSwitch = "no";
  221.     }
  222.     else if (thisPath == "Control Panel Category"){
  223.         filePath = "::{26EE0668-A00A-44D7-9371-BEB064C98683}";
  224.         label = thisPath;
  225.         img = control;
  226.     allowSwitch = "no";
  227.     }
  228.     else if (thisPath == "Control Panel Classic"){
  229.         filePath = "::{21EC2020-3AEA-1069-A2DD-08002B30309D}";
  230.         label = thisPath;
  231.         img = control;
  232.     allowSwitch = "no";
  233.     }
  234.     else if (thisPath == "Control Panel VAIO"){
  235.         filePath = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}";
  236.         label = thisPath;
  237.         img = control;
  238.     allowSwitch = "no";
  239.     }
  240.     else if (thisPath == "Internet Explorer"){
  241.         filePath = "::{871C5380-42A0-1069-A2EA-08002B30309D}";
  242.         label = thisPath;
  243.         img = ie;
  244.     allowSwitch = "no";
  245.     }
  246.     else if (thisPath == "Recycle Bin"){
  247.         filePath = "::{645FF040-5081-101B-9F08-00AA002F954E}";
  248.     label = thisPath;
  249.     img = rbEmpty;
  250.     allowSwitch = "no";
  251.     }
  252.     else if (thisPath == "IE Favorites"){
  253.         label = thisPath;
  254.         img = gadgetPath + "\\images\\FavsIE.png";
  255.     allowSwitch = "no";
  256.     }
  257.     else if (thisPath == "Firefox Bookmarks"){
  258.         label = thisPath;
  259.         img = gadgetPath + "\\images\\FavsFF.png";
  260.     allowSwitch = "no";
  261.     }
  262.     else if (thisPath == "Opera Bookmarks"){
  263.         label = thisPath;
  264.         img = gadgetPath + "\\images\\FavsOP.png";
  265.     allowSwitch = "no";
  266.     }
  267.     else if (thisPath == "LauncherDivider"){
  268.         label = thisPath;
  269.         img = gadgetPath + "\\images\\divSmall.png";
  270.     allowSwitch = "no";
  271.     }
  272.     else{
  273.     img = thisPath;
  274.         if (!oFSO.FileExists(thisPath)){
  275.       if (!oFSO.FolderExists(thisPath)){
  276.         img = errorImage;
  277.         allowSwitch = "no";
  278.         label = "file deleted or moved";
  279.       }
  280.         }
  281.     }
  282.             
  283.     if (iconList[i] != "none"){
  284.         img = iconList[i];
  285.     if (!oFSO.FileExists(img)){
  286.       if (!oFSO.FolderExists(img)){
  287.         img = errorImage;
  288.         label = "icon missing";
  289.       }
  290.     }
  291.      }
  292.     img = "gimage:///" + img + wh;
  293.  
  294. } catch(err) {debugLog("getFilePaths: "+err.name+" - "+err.message)}
  295. }
  296.  
  297. function delLinks(){
  298. try{
  299.     var index = 0;
  300.     var startLength = linksList.length;
  301.     linksList.splice(0,linksList.length);
  302.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  303.         id = "r"+i+"c0";
  304.         if (!$(id).checked){
  305.             linksList[index] = $("r"+i+"c3").title;
  306.             iconList[index] = iconList[i];
  307.             switchList[index] = switchList[i];
  308.             index++;
  309.         }
  310.     }
  311.     if (linksList.length == 0){
  312.         DisplayNoLinks(true);
  313.     }
  314.     else{
  315.         bldShortCuts();
  316.         checkDefaults();
  317.         DisplayNoLinks(false);
  318.     }    
  319.     var endLength = linksList.length;
  320.     if (startLength == endLength){
  321.     $("warning").innerText="You must select an item to remove it.";
  322.   }
  323.   else{
  324.     $("warning").innerText="Add any object by dragging it to the list.";
  325.   }
  326. } catch(err) {debugLog("delLinks: "+err.name+" - "+err.message)}
  327. }
  328.  
  329. function addToArray(addThis){
  330. try{
  331.   if (linksList.length == 0){
  332.         iconList = new Array();
  333.         switchList = new Array();
  334.     }
  335.   var n = linksList.length;
  336.     linksList[n] = addThis;
  337.     iconList[n] = "none";
  338.     switchList[n] = "none";
  339. } catch(err) {debugLog("addToArray: "+err.name+" - "+err.message)}
  340. }
  341.  
  342. function addDivide(){
  343. try{
  344.   addToArray("LauncherDivider");
  345.     bldShortCuts(); 
  346.      DisplayNoLinks(false);
  347. } catch(err) {debugLog("addDivide: "+err.name+" - "+err.message)}
  348. }
  349.  
  350. function changeIco(){
  351. try{
  352.     var index = 0;
  353.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  354.         id = "r"+i+"c0";
  355.         if ($(id).checked){
  356.             index++;
  357.             var ChangeThisFilesIcon = linksList[i];
  358.             var location = i;
  359.         }
  360.     }
  361.  
  362.     if (index == 1){
  363.         if (ChangeThisFilesIcon != "Recycle Bin"){
  364.             var oItem = System.Shell.chooseFile(true, "Icon Files:*.ico;*.png;*.exe::", "", "");
  365.             if (oItem){
  366.                 iconList[location] = oItem.path;
  367.                 bldShortCuts(); 
  368.                 DisplayNoLinks(false);
  369.         $("warning").innerText="Add any object by dragging it to the list.";
  370.             }
  371.         }
  372.         else{
  373.       $("warning").innerText="Click the Layout tab to change this.";
  374.         }
  375.     }
  376.     
  377.     if (index == 0){
  378.     $("warning").innerText="First select an item to change it's icon.";
  379.     }
  380.     if (index > 1){
  381.     $("warning").innerText="Select only one item at a time.";
  382.     }
  383. } catch(err) {debugLog("changeIco: "+err.name+" - "+err.message)}
  384. }
  385.  
  386. function resetIco(){
  387. try{
  388.     var index = 0;
  389.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  390.         id = "r"+i+"c0";
  391.         if ($(id).checked){
  392.             index++;
  393.       iconList[i] = "none";
  394.         }
  395.     }
  396.     if (index > 0){
  397.         bldShortCuts(); 
  398.         DisplayNoLinks(false);
  399.     $("warning").innerText="Icons reset to original state.";
  400.     }
  401.     if (index == 0){
  402.     $("warning").innerText="First select the items you want to reset.";
  403.     }
  404. } catch(err) {debugLog("resetIco: "+err.name+" - "+err.message)}
  405. }
  406.  
  407. function moveDown(thisOne){
  408. try{
  409.     if (thisOne < linksList.length){
  410.     switchThem(thisOne);
  411.     }
  412.     bldShortCuts();
  413.     DisplayNoLinks(false);
  414. } catch(err) {debugLog("moveDown: "+err.name+" - "+err.message)}
  415. }
  416.  
  417. function moveUp(thisOne){
  418. try{
  419.     if (thisOne > 0){
  420.     thisOne = thisOne-1;
  421.     switchThem(thisOne);
  422.     }
  423.     bldShortCuts();
  424.     DisplayNoLinks(false);
  425. } catch(err) {debugLog("moveUp: "+err.name+" - "+err.message)}
  426. }
  427.  
  428. function switchThem(thisOne){
  429. try{
  430.     var index = 0;
  431.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  432.         if (i == thisOne){
  433.       var linkTemp = linksList[index];
  434.             var iconTemp = iconList[index];
  435.             var switchTemp = switchList[index];
  436.             linksList[index] = linksList[i+1]; 
  437.             iconList[index] = iconList[i+1];
  438.             switchList[index] = switchList[i+1];
  439.             index++;
  440.             linksList[index] = linkTemp; 
  441.             iconList[index] = iconTemp;
  442.             switchList[index] = switchTemp;
  443.             i++;     
  444.         }
  445.         index++;
  446.     }
  447. } catch(err) {debugLog("switchThem: "+err.name+" - "+err.message)}
  448. }
  449.  
  450. function overIt(){
  451.     var img = event.srcElement;
  452.     img.style.cursor = "hand";
  453. }
  454.  
  455. function notOverIt(){
  456.     var img = event.srcElement;
  457.     img.style.cursor = "default";
  458. }
  459.  
  460. function clearMenu(){
  461.     defaults.style.display = "none";
  462.     style.style.display = "none";
  463.     save.style.display = "none";
  464.     misc.style.display = "none";
  465.     reorder.style.display = "none";
  466.     menu1.style.borderBottomColor = "#505050";
  467.     menu2.style.borderBottomColor = "#505050";
  468.     menu3.style.borderBottomColor = "#505050";
  469.     menu4.style.borderBottomColor = "#505050";
  470.     menu5.style.borderBottomColor = "#505050";
  471. }
  472.  
  473. function menuA(){
  474.   clearMenu();
  475.     reorder.style.display = "";
  476.     menu1.style.borderBottomColor = "#f0f0f0";
  477. }
  478.  
  479. function menuB(){
  480.   clearMenu();
  481.     style.style.display = "";
  482.     menu2.style.borderBottomColor = "#f0f0f0";
  483.     checkDefaults();
  484. }
  485.  
  486. function menuC(){
  487.   clearMenu();
  488.     defaults.style.display = "";
  489.     menu3.style.borderBottomColor = "#f0f0f0";
  490. }
  491.  
  492. function menuD(){
  493.   clearMenu();
  494.     misc.style.display = "";
  495.     menu4.style.borderBottomColor = "#f0f0f0";
  496.     checkDefaults();
  497. }
  498.  
  499. function menuE(){
  500.   clearMenu();
  501.     save.style.display = "";
  502.     menu5.style.borderBottomColor = "#f0f0f0";
  503. }
  504.  
  505. function fileDragDropped(){
  506. try{
  507.     var sFile;
  508.     for (var i=0 ; System.Shell.itemFromFileDrop(event.dataTransfer, i) != null ; i++){
  509.         sFile = System.Shell.itemFromFileDrop(event.dataTransfer, i).path;
  510.     addToArray(sFile);
  511.     }
  512.     bldShortCuts();  
  513.     DisplayNoLinks(false);
  514. }    catch(err)    {debugLog("fileDragDropped: "+err.name+" - "+err.message)}
  515. }
  516.  
  517. function openGadgetFolder(){
  518. try{
  519.     System.Shell.execute(settingsDir);
  520. } catch(err) {debugLog("openGadgetFolder: "+err.name+" - "+err.message)}
  521. }
  522.  
  523. function openBgFolder(){
  524. try{
  525.     System.Shell.execute(gadgetPath+"\\images\\backgrounds");
  526. } catch(err) {debugLog("openBgFolder: "+err.name+" - "+err.message)}
  527. }
  528.  
  529. function changeRbIcon(whichOne){
  530. try{
  531.     var oItem = System.Shell.chooseFile(true, "Icon Files:*.ico;*.png;*.exe::", "", "");
  532.     if (oItem){
  533.     if (whichOne == "empty"){
  534.       rbEmpty = oItem.path;
  535.       $("rbEmptyIcon").src = "gimage:///" + rbEmpty + "?width=32&height=32";
  536.     }
  537.     else{
  538.       rbFull = oItem.path;
  539.       $("rbFullIcon").src = "gimage:///" + rbFull + "?width=32&height=32";
  540.     }
  541.   }
  542.   saveRbSettings();
  543. } catch(err) {debugLog("changeRbEmptyIcon: "+err.name+" - "+err.message)}
  544. }
  545.  
  546. function saveRbSettings(){
  547. try{
  548.     if (oFSO.FileExists(rbSettingsFile)){
  549.         oFSO.DeleteFile(rbSettingsFile, true);
  550.     }
  551.     if (rbEmpty == gadgetPath+"\\images\\rbEmpty.ico" && rbFull == gadgetPath+"\\images\\rbFull.ico") return;
  552.     var oFile = oFSO.CreateTextFile(rbSettingsFile, true);
  553.     oFile.WriteLine(rbEmpty);
  554.     oFile.WriteLine(rbFull);
  555.     oFile.Close();
  556. } catch(err) {debugLog("saveRbSettings: "+err.name+" - "+err.message)}
  557. }
  558.  
  559. function setRbIcons(){
  560. try{
  561.     if (oFSO.FileExists(rbSettingsFile)){    
  562.     defaultFile = oFSO.OpenTextFile(rbSettingsFile, 1, false);
  563.         rbEmpty = defaultFile.ReadLine();
  564.         rbFull = defaultFile.ReadLine();
  565.         defaultFile.Close();
  566.     }
  567. } catch(err) {debugLog("setRbIcons: "+err.name+" - "+err.message)}
  568. }
  569.  
  570. function resetRbIco(){
  571. try{
  572.   rbEmpty = gadgetPath+"\\images\\rbEmpty.ico";
  573.   rbFull = gadgetPath+"\\images\\rbFull.ico";
  574.   $("rbEmptyIcon").src = "gimage:///" + rbEmpty + "?width=32&height=32";
  575.     $("rbFullIcon").src = "gimage:///" + rbFull + "?width=32&height=32";
  576.   saveRbSettings();
  577. } catch(err) {debugLog("resetRbIco: "+err.name+" - "+err.message)}
  578. }
  579.  
  580. function nextBG(){
  581.   bgSetting++;
  582.   if (bgSetting > numBGs) {bgSetting = 1;}
  583.   setBgColor();
  584. }
  585.  
  586. function prevBG(){
  587.   bgSetting--;
  588.   if (bgSetting < 1) {bgSetting = numBGs;}
  589.   setBgColor();
  590. }
  591.  
  592. function setBgColor(){
  593.   bgPath = "url(/images/backgrounds/bg" + bgSetting + ".jpg)";
  594.   $("bgPreview").style.backgroundImage = bgPath;
  595. }
  596.  
  597. function countBackgrounds(){
  598. try{
  599.   numBGs = 31;
  600.   while (oFSO.FileExists(gadgetPath + "\\images\\backgrounds\\bg" + numBGs + ".jpg")){
  601.     numBGs++;
  602.   }
  603.   numBGs--;
  604. } catch(err) {debugLog("countBackgrounds: "+err.name+" - "+err.message)}
  605. }
  606.  
  607. function addArguments(){
  608. try{
  609.     var index = 0;
  610.     argLocation = null;
  611.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  612.         id = "r"+i+"c0";
  613.         if ($(id).checked){
  614.             index++;
  615.             var allowSwitch = $("r"+i+"c3").link;
  616.             argLocation = i;
  617.         }
  618.     }
  619.  
  620.     if (index == 1 && allowSwitch == "yes"){
  621.     thisName = linksList[argLocation];
  622.     label = oFSO.GetFileName(thisName);
  623.     appName.innerText = label;
  624.     commands.style.display = "";
  625.     commandInput.focus();
  626.     if (switchList[argLocation] != "none"){
  627.       commandInput.value = switchList[argLocation];
  628.     }
  629.     else{
  630.       commandInput.value = "";
  631.     }
  632.     }
  633.  
  634.     if (index == 1 && allowSwitch == "no"){
  635.     $("warning").innerText="You can not set arguments for this object.";
  636.   }
  637.     if (index == 0){
  638.     $("warning").innerText="First select an item to add arguments.";
  639.     }
  640.     if (index > 1){
  641.     $("warning").innerText="Select only one item at a time.";
  642.     }
  643. } catch(err) {debugLog("addArguments: "+err.name+" - "+err.message)}
  644. }
  645.  
  646. function setArg(){
  647. try{
  648.   var arg = commandInput.value.replace(/^\s+|\s+$/g,""); // remove blank spaces from the begining and end
  649.   if (arg != ""){
  650.     switchList[argLocation] = arg;
  651.   }
  652.   else{
  653.     switchList[argLocation] = "none";
  654.   }
  655.   
  656.   commandInput.value = "";
  657.     commands.style.display = "none";
  658.     bldShortCuts();
  659.     DisplayNoLinks(false);
  660. } catch(err) {debugLog("setArg: "+err.name+" - "+err.message)}
  661. }
  662.  
  663. function cancelSetArg(){
  664.   commandInput.value = "";
  665.     commands.style.display = "none";
  666.     uncheckAll();
  667. }
  668.  
  669. function uncheckAll(){
  670.     for (var i = 0; i < iItemTbl.rows.length ; i++){
  671.         id = "r"+i+"c0";
  672.         $(id).checked = false;
  673.   }
  674. }
  675.  
  676. function removeToolTips(){
  677.     $("L_REMOVE").title="";
  678.     $("L_CHANGE").title="";
  679.     $("L_RESET").title="";
  680.     $("L_ARG").title="";
  681.     $("L_RB").title="";
  682.     $("L_DIV").title="";
  683.     $("L_SPEC").title="";
  684.     $("L_SETARG").title="";
  685.     $("L_CARG").title="";
  686.     $("L_BGFLD").title="";
  687.     $("L_COUNT").title="";
  688.     $("L_GFLD").title="";
  689.     $("L_PBG").title="";
  690.     $("L_NBG").title="";
  691.     $("rbEmptyIcon").title="";
  692.     $("rbFullIcon").title="";
  693.     $("L_PRO1").title = "";
  694.     $("L_PRO2").title = "";
  695.     $("L_PRO3").title = "";
  696.     $("L_PRO4").title = "";
  697.     $("L_PROSELECT").title = "";
  698.     $("L_PROCANCEL").title = "";
  699.     $("L_SAVDRAG").title = "";
  700.     $("L_CANDRAG").title = "";
  701.     $("L_DRAGIT").title = "";
  702. }
  703.  
  704. var cc = ["00","11","33","44","66","88","99","bb","cc","ee","ff"];
  705.  
  706. function createColorChooser(){
  707. try{
  708.   colorChooser.innerHTML = "";
  709.   infoText.style.color = textColorSetting;
  710.   var index = 0;
  711.   var oTable = document.createElement("table");
  712.   oTable.setAttribute("cellPadding",0);
  713.   oTable.setAttribute("cellSpacing",0);
  714.   oTable.setAttribute("border",0);
  715.   row = oTable.insertRow();
  716.   for (var i=0; i < 11; i++){  // sets grey scale
  717.     cell = row.insertCell();
  718.     cell.width = "10px";
  719.     cell.height = "10px";
  720.     cell.style.setAttribute("cssText", "background:#"+cc[i]+cc[i]+cc[i]);
  721.     cell.onclick = function(){setInfoColor()};
  722.     index++;
  723.   }
  724.   for (var i=0; i < 5; i++){  // sets random colors
  725.     row = oTable.insertRow();
  726.     for (var j=0; j < 11; j++){
  727.       var x = Math.floor(Math.random()*11);
  728.       var y = Math.floor(Math.random()*11);
  729.       var z = Math.floor(Math.random()*11);
  730.       cell = row.insertCell();
  731.       cell.width = "10px";
  732.       cell.height = "10px";
  733.       cell.style.setAttribute("cssText", "background:#"+cc[x]+cc[y]+cc[z]);
  734.       cell.onclick = function(){setInfoColor()};
  735.       index++;
  736.     }
  737.   }
  738.   colorChooser.appendChild(oTable);
  739. } catch(err) {debugLog("createColorChooser: "+err.name+" - "+err.message)}
  740. }
  741.  
  742. function setInfoColor(){
  743.   var clickedColor = event.srcElement.style.backgroundColor;
  744.   infoText.style.color = clickedColor;
  745.   textColorSetting = clickedColor;
  746. }
  747.  
  748. function checkDefaults(){
  749. try{
  750.     for (var i = 0;i < 9 ; i++){
  751.         $('sp'+i).checked = false;
  752.     $('sp'+i).style.display = "";
  753.     }
  754.     for (var i = 0; i < linksList.length ; i++){
  755.         var testIt = linksList[i];
  756.         
  757.         for (var j = 0; j < 9; j++){
  758.       if (testIt == specialLinksArray[j]){
  759.         thisID = "sp"+j;
  760.         $(thisID).style.display = "none";
  761.       }
  762.         }
  763.     }
  764. } catch(err) {debugLog("checkDefaults: "+err.name+" - "+err.message)}
  765. }
  766.  
  767. function updateDef(){
  768. try{
  769.     for (var i = 0; i < 9 ; i++){
  770.         id = "sp"+i;
  771.         if ($(id).checked){
  772.       addThis = specialLinksArray[i];
  773.       addToArray(addThis);
  774.         }
  775.     }
  776.     bldShortCuts();
  777.     checkDefaults();
  778.     DisplayNoLinks(false);
  779. } catch(err) {debugLog("updateDef: "+err.name+" - "+err.message)}
  780. }
  781.  
  782. function pro1(){
  783.   settingsDir = oShell.SpecialFolders("Appdata")+"\\App Launcher Gadget";
  784.   write("settingsDir", settingsDir);
  785.   loadSettings();
  786. }
  787.  
  788. function pro2(){
  789.   settingsDir = oShell.SpecialFolders("Appdata")+"\\App Launcher Gadget\\profile2";
  790.   write("settingsDir", settingsDir);
  791.   loadSettings();
  792. }
  793.  
  794. function pro3(){
  795.   settingsDir = oShell.SpecialFolders("Appdata")+"\\App Launcher Gadget\\profile3";
  796.   write("settingsDir", settingsDir);
  797.   loadSettings();
  798. }
  799.  
  800. function pro4(){
  801.   settingsDir = oShell.SpecialFolders("Appdata")+"\\App Launcher Gadget\\profile4";
  802.   write("settingsDir", settingsDir);
  803.   loadSettings();
  804. }
  805.  
  806.