home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Theme / 8GadgetPack / 8GadgetPackSetup.msi / Gadgets.7z / Gadgets / MiniRadio.gadget / miniradio.js < prev    next >
Text File  |  2012-08-11  |  20KB  |  564 lines

  1.     function doNothing(){return true}
  2.     window.onerror =doNothing
  3.     
  4.     
  5.     var vol=50;
  6.     var completeRegel = '';
  7.     var huidigeIndex;
  8.     var huidigeUrl;
  9.     var huidigeZendernaam;
  10.     var populateKeuze = '2';
  11.     var schermRegel = '';
  12.     var mapNaam = '';
  13.     var frontje = 0;
  14.     var rps = 0;
  15.     var logosetting = 'leeg';
  16.     var huidigeRPtitel = '';
  17.     var tempRPtitel = '';
  18.     var runnedOnce = '0';
  19.     var sorteerEx = '0';
  20.     var externeZendersAlGetoond = false;
  21.     var autoSort = false;
  22.     var wmps = '';
  23.     var inladenGadget = '0';
  24.     var oPopup = window.createPopup();
  25.  
  26.  
  27.     System.Gadget.settingsUI = "instellingen.html";
  28.     System.Gadget.onSettingsClosed = settingsClosed;
  29.     System.Gadget.onUndock = unDocked;
  30.     System.Gadget.onDock = docked;
  31.     
  32.  
  33.     pakMapNaam();
  34.     
  35.       function inlezenInstellingen(){
  36.         huidigeIndex = System.Gadget.Settings.read("huidigeIndex");
  37.          document.getElementById('selector').selectedIndex = huidigeIndex;
  38.          var huidigeVol = System.Gadget.Settings.read("huidigeVol");
  39.          if (huidigeVol!=''){
  40.            vol = huidigeVol;
  41.            document.getElementById('mediaPlayer').settings.volume=huidigeVol;
  42.          } else {document.getElementById('mediaPlayer').settings.volume=vol;}
  43.          huidigeUrl = System.Gadget.Settings.read("huidigeUrl");
  44.          if (huidigeUrl!=''){
  45.            document.getElementById('mediaPlayer').URL = huidigeUrl;
  46.          }
  47.          bepaalFrontje();
  48.          soortAfbeelding(); // Moet dit hier staan ??? ingevoegd 29 maart 2008
  49.          document.getElementById('mediaPlayer').controls.stop();
  50.          inlezenExtraInst();
  51.          checkRealPlayer();
  52.          document.getElementById('RealPlayer').DoStop();
  53.          //if (rps==1 && logoSetting=='radioGroot'){document.getElementById('RealPlayer').style.visibility='hidden';} 
  54.       }
  55.  
  56.        
  57.       
  58.  
  59.       function pakMapNaam(){
  60.         mapNaam = System.Gadget.path;
  61.         var nr = mapNaam.lastIndexOf("\\");
  62.         mapNaam = mapNaam.substr(0,nr);
  63.       }
  64.       
  65.       
  66.       
  67.       
  68.     function indexeer(){
  69.       document.getElementById('selector').focus();
  70.       var x=document.getElementById("selector");
  71.       document.getElementById('mediaPlayer').URL=x.options[x.selectedIndex].value;
  72.       huidigeIndex = document.getElementById('selector').selectedIndex;
  73.       huidigeUrl = x.options[x.selectedIndex].value; //??
  74.       huidigeZendernaam = x.options[x.selectedIndex].text;
  75.       System.Gadget.Settings.write("huidigeIndex", huidigeIndex);
  76.       System.Gadget.Settings.write("huidigeUrl", huidigeUrl);
  77.     }    
  78.       
  79.  
  80.       function bepaalZender(){
  81.         indexeer(); //bij RP nog speler naar voren toveren bij inladen Sidebar
  82.         if (huidigeUrl=='999'){
  83.           var rand_no = Math.ceil((document.getElementById('selector').length-1)*Math.random());
  84.           document.getElementById('selector').selectedIndex = rand_no;
  85.           indexeer();
  86.         }
  87.         checkRealPlayer();
  88.         showSelector();
  89.         soortAfbeelding();
  90.         document.getElementById('selector').blur();
  91.       }
  92.       
  93.       
  94.       function checkRealPlayer(){
  95.         document.getElementById('RealPlayer').DoStop();
  96.         //document.getElementById('RealPlayer').style.visibility='hidden';
  97.         var x=document.getElementById("selector");
  98.         var urlstream = x.options[x.selectedIndex].value;
  99.         if (urlstream.substr(0,10)=='webhttp://'){ // user made url
  100.           System.Shell.execute(urlstream.substr(3));
  101.           return;
  102.         }
  103.         rps = 0;
  104.         var geldigeExtensies = " .ra .rm .ram  .rpm .rv .pls ";
  105.         var extensie = " " + urlstream.substring(urlstream.lastIndexOf(".")).toLowerCase() + " ";
  106.         if (urlstream.indexOf(".pls?")>0){rps=1;}
  107.         if (geldigeExtensies.indexOf(extensie) > -1) {
  108.           rps = 1;
  109.         }
  110.            if (rps==1){  //RealPlayer stream
  111.           stoppen();
  112.           document.getElementById('frontje').style.visibility = 'hidden';
  113.           //document.getElementById('RealPlayer').style.visibility='visible';
  114.           document.getElementById('realLogo').style.visibility='visible';
  115.           document.getElementById('RealPlayer').SetSource(x.options[x.selectedIndex].value);
  116.           document.getElementById('RealPlayer').DoPlay();
  117.           checkTitle();
  118.         }
  119.         if (rps==0){  //WMP stream
  120.           //afspelen();  //autoplay=true, dus hoeft niet ...?
  121.           document.getElementById('realLogo').style.visibility='hidden';
  122.         }
  123.       }
  124.       
  125.       
  126.       
  127.       function afspelen(){
  128.         if (huidigeUrl==''){bepaalZender();}
  129.         if(rps==1){document.getElementById('RealPlayer').DoPlay(); return}
  130.         document.getElementById('mediaPlayer').controls.play();
  131.       }  
  132.       
  133.       function stoppen(){
  134.         if(rps==1){document.getElementById('RealPlayer').DoStop(); return}
  135.         document.getElementById('mediaPlayer').controls.stop();
  136.       }  
  137.       
  138.       
  139.       
  140.       
  141.       
  142.         
  143.       function soortAfbeelding(){
  144.         bepaalFrontje();
  145.         logoSetting = System.Gadget.Settings.read("logo");
  146.         if (logoSetting=='radioKlein'){
  147.           document.getElementById('smooth').style.visibility = 'visible';   // omhulsel tonen !
  148.           document.getElementById('mediaPlayer').style.visibility='hidden';
  149.           document.getElementById('evt').innerHTML='<img src="mrlogo.png" style="position:absolute;top:0px;left:0px;z-index:33">';
  150.           document.getElementById('totaal').style.visibility='visible';
  151.           document.getElementById('frontje').style.visibility = 'hidden';
  152.         }
  153.         
  154.         if (logoSetting=='leeg'){
  155.           document.getElementById('smooth').style.visibility = 'visible';   // omhulsel tonen !
  156.             document.getElementById('totaal').style.visibility='visible';
  157.           document.getElementById('zwart').style.visibility='visible';
  158.           document.getElementById('mediaPlayer').style.visibility='visible';
  159.           //if (rps==1){document.getElementById('RealPlayer').style.visibility='visible';}
  160.           document.getElementById('evt').innerHTML='';
  161.           
  162.         }    
  163.                         
  164.         if (logoSetting=='radioGroot'){
  165.           document.getElementById('smooth').style.visibility = 'hidden';   // geen omhulsel tonen !
  166.           document.getElementById('mediaPlayer').style.visibility='hidden';
  167.           document.getElementById('totaal').style.visibility='hidden';
  168.           document.getElementById('zwart').style.visibility='hidden';
  169.           document.getElementById('frontje').style.visibility = 'hidden';
  170.           document.getElementById('realLogo').style.visibility = 'hidden';
  171.           document.getElementById('evt').innerHTML='<img src="radio.png" style="position:absolute;top:10px;left:0px;z-index:3" onclick="javascript:radioPicKlik()">';
  172.         }
  173.         //if (rps==1 && logoSetting=='leeg'){document.getElementById('RealPlayer').style.visibility='visible';}
  174.         //if (rps==1 && logoSetting=='radioGroot'){document.getElementById('RealPlayer').style.visibility='hidden';}
  175.       }
  176.  
  177.      
  178.         
  179.         
  180.       function settingsClosed(){
  181.         soortAfbeelding();
  182.         inlezenZenders();
  183.         inlezenExtraInst();
  184.         
  185.       }
  186.       
  187.       
  188.       
  189.       
  190.       function bepaalFrontje(){
  191.         frontje = System.Gadget.Settings.read("frontje");
  192.         frontBestandsnaam = System.Gadget.Settings.read("frontBestandsnaam");
  193.         if (frontje==0){
  194.           document.getElementById('frontje').style.visibility = 'hidden';
  195.         }
  196.         if (frontje > 0){
  197.           document.getElementById('frontje').style.visibility = 'visible';
  198.           document.getElementById('frontje').style.height = 50;
  199.           if (frontje>14){
  200.             document.getElementById('frontje').src = mapNaam + '\\FrontjesMiniRadio\\' + frontBestandsnaam;
  201.           }
  202.           else {document.getElementById('frontje').src = 'frontje' + frontje + '.png';}
  203.         }
  204.       }
  205.  
  206.       
  207.       
  208.       function showSelector(){ //met een frontje kun je niet rechtstreeks een andere zender kiezen
  209.         if (document.getElementById('frontje').style.height=='29px'){
  210.           document.getElementById('frontje').style.height = 50;
  211.           return false;
  212.         } else
  213.         document.getElementById('frontje').style.height=29;
  214.       }
  215.  
  216.  
  217.       function kijkGrootte(){
  218.         if (document.getElementById('frontje').style.height=='29px'){
  219.           document.getElementById('frontje').style.height = 50;
  220.         }
  221.       }
  222.       
  223.       
  224.       function harder(){
  225.         if (rps==1){document.getElementById('RealPlayer').SetVolume(vol);}
  226.         if (vol < 20){
  227.           vol = vol + 2;
  228.         } else {vol = vol+5;}
  229.         if (vol>100){vol=100;}
  230.         if(rps==1){document.getElementById('RealPlayer').SetVolume(vol)}
  231.         else { document.getElementById('mediaPlayer').settings.volume=vol; }
  232.         toonVolumeStand();
  233.         setTimeout("document.getElementById('VolStandTekst').innerText='';",3000);
  234.         System.Gadget.Settings.write("huidigeVol", vol);
  235.       }
  236.       
  237.       
  238.       function zachter(){
  239.         if (rps==1){document.getElementById('RealPlayer').SetVolume(vol);}
  240.         if (vol < 21){
  241.          vol = vol - 2;
  242.         } else { vol = vol-5; }
  243.         if (vol<0){vol=0;}
  244.         if(rps==1){document.getElementById('RealPlayer').SetVolume(vol)}
  245.         else { document.getElementById('mediaPlayer').settings.volume=vol; }
  246.         toonVolumeStand();
  247.         setTimeout("document.getElementById('VolStandTekst').innerText='';",3000);
  248.         System.Gadget.Settings.write("huidigeVol", vol);
  249.       }
  250.     
  251.         
  252.         
  253.         
  254.       function toonVolumeStand(){
  255.         document.getElementById('VolStandTekst').innerText=vol;
  256.       }
  257.     
  258.  
  259.       function muisVolume(){
  260.         if (event.wheelDelta >= 20){ harder();}
  261.         else{if (event.wheelDelta <= -20){
  262.                zachter();
  263.             }
  264.         }
  265.       }
  266.     
  267.     
  268.       function plusOver(){
  269.         document.getElementById('plus').style.visibility='visible';
  270.       }      
  271.       
  272.       function plusOut(){
  273.         document.getElementById('plus').style.visibility='hidden';
  274.       }      
  275.       
  276.       function minOver(){
  277.         document.getElementById('min').style.visibility='visible';
  278.       }      
  279.       
  280.       function minOut(){
  281.         document.getElementById('min').style.visibility='hidden';
  282.       }      
  283.       
  284.       
  285.       
  286.       function fileDragDropped() {
  287.         var  sFile;
  288.         for (var i=0; System.Shell.itemFromFileDrop(event.dataTransfer, i) != null; i++){
  289.           sFile = System.Shell.itemFromFileDrop(event.dataTransfer, i).path;
  290.           //document.getElementById('rs').options[document.getElementById('rs').options.length]=new Option(sFile,false,false);
  291.           document.getElementById('selector').focus();
  292.           document.getElementById('selector').options[document.getElementById('selector').options.length]=new Option(sFile,sFile);
  293.           document.getElementById('selector').selectedIndex = document.getElementById('selector').options.length-1;
  294.           huidigeIndex = document.getElementById('selector').selectedIndex;
  295.           document.getElementById('mediaPlayer').URL = sFile;
  296.         }
  297.       }
  298.       
  299.             
  300.   
  301.       function radioPicKlik(){
  302.         document.getElementById('smooth').style.visibility = 'visible';   // omhulsel tonen !
  303.         document.getElementById('totaal').style.visibility='visible';
  304.         document.getElementById('zwart').style.visibility='visible';
  305.         if (rps==0){document.getElementById('mediaPlayer').style.visibility='visible';}
  306.         //if (rps==1){document.getElementById('RealPlayer').style.visibility='visible';}
  307.         if (rps==1){document.getElementById('realLogo').style.visibility='visible';}
  308.         document.getElementById('evt').innerHTML='';
  309.       }
  310.       
  311.   
  312.       
  313.   
  314.       function inlezenZenders(){
  315.         var zenderRegel;
  316.         var zenderNaam;
  317.         var zenderAdres;
  318.         var alleZenders = '';
  319.       
  320.         mapNaam = System.Gadget.path;
  321.         var nr = mapNaam.lastIndexOf("\\");
  322.         mapNaam = mapNaam.substr(0,nr);
  323.         
  324.         bijwerken();
  325.  
  326.         var zendersBestand = mapNaam + '\\ZenderData2.txt';
  327.         var fso, f, r;
  328.         var ForReading = 1, ForWriting = 2;
  329.         fso = new ActiveXObject("Scripting.FileSystemObject");
  330.         if (fso.FileExists(zendersBestand)){
  331.           f = fso.OpenTextFile(zendersBestand, ForReading);
  332.           try{
  333.             r =  f.ReadLine();
  334.           }
  335.           catch(err)
  336.           {
  337.             r="dummy";
  338.           }
  339.           alleZenders = r;
  340.           f.Close();
  341.         }
  342.         
  343.         
  344.         if (alleZenders == ""){
  345.           if (externeZendersAlGetoond == false){  //Als dit er niet staat, dan worden elke keer opnieuw de externe zenders aan de lijst toegevoegd. Geldt alleen indien Meegeleverde zenders nog niet zijn opgeslagen.
  346.             eigenZendersNaarSystem();  
  347.           }
  348.           externeZendersAlGetoond = true;
  349.           return false;
  350.         }
  351.        
  352.         document.getElementById('selector').options.length=0;  // wis de complete lijst
  353.  
  354.         if (alleZenders != ""){
  355.           var zenderLijst = alleZenders.split("#", alleZenders.length);
  356.           for (var i=1 ; i < zenderLijst.length; i++){   //???
  357.             zenderRegel = zenderLijst[i].split("*", zenderLijst[i].length);
  358.             zenderNaam = zenderRegel[0];
  359.             zenderAdres = zenderRegel[1];
  360.             document.getElementById('selector').options[document.getElementById('selector').options.length]=new Option(zenderNaam, zenderAdres,false,false);
  361.           }
  362.         }
  363.         eigenZendersNaarSystem();
  364.         document.getElementById('selector').selectedIndex = huidigeIndex;
  365.         
  366.         
  367.         //Bovenstaande regel vervangen op 24-08-08 door onderstaande 2 omdat na sorteren zenders de naam op een verkeerde naam springt omdat de index veranderd is.
  368.         // OOK NIET GOED!  Bovenste nog beter
  369.         //document.getElementById('selector').options[document.getElementById('selector').selectedIndex].text = huidigeZendernaam;
  370.         //document.getElementById('selector').options[document.getElementById('selector').selectedIndex].value = huidigeUrl;
  371.         
  372.       }
  373.       
  374.       
  375.  
  376.       function startSpelen(){
  377.         document.getElementById('mediaPlayer').controls.play();
  378.       }
  379.       
  380.       function stopSpelen(){
  381.         document.getElementById('mediaPlayer').controls.stop();
  382.       }
  383.       
  384.       function inlezenExtraInst(){        
  385.         var startNa = System.Gadget.Settings.read("startNa");
  386.         if (startNa !=''){
  387.           if (startNa =='0'){return false;}
  388.           System.Gadget.Settings.write("startNa","0");
  389.           var t = setTimeout("startSpelen()",startNa);
  390.         }
  391.         var stopNa = System.Gadget.Settings.read("stopNa");
  392.         if (stopNa !=''){
  393.           if (stopNa =='0'){return false;}
  394.           System.Gadget.Settings.write("stopNa","0");
  395.           var t2 = setTimeout("stopSpelen()",stopNa);
  396.         }
  397.         
  398.         var extraInstellingenAan = System.Gadget.Settings.read("extraInstellingenAan");
  399.         if (extraInstellingenAan==''){return false;}
  400.         var akzendernamen = System.Gadget.Settings.read("akZendernamen");
  401.           document.getElementById('selector').style.backgroundColor = akzendernamen;
  402.         var vkzendernamen = System.Gadget.Settings.read("vkZendernamen");
  403.           document.getElementById('selector').style.color = vkzendernamen;
  404.         var ltzendernamen = System.Gadget.Settings.read("ltZendernamen");
  405.           document.getElementById('selector').style.fontFamily = ltzendernamen;
  406.         var lgzendernamen = System.Gadget.Settings.read("lgZendernamen");
  407.           document.getElementById('selector').style.fontSize = lgzendernamen
  408.         var vetteLetters = System.Gadget.Settings.read("vetteLetters");
  409.           if (vetteLetters == true){document.getElementById('selector').style.fontWeight = 'bold';}else{document.getElementById('selector').style.fontWeight = 'normal';}
  410.         var omhulsel = System.Gadget.Settings.read("omhulsel");
  411.           if (omhulsel == false){document.getElementById('smooth').style.visibility = 'hidden';} else {document.getElementById('smooth').style.visibility = 'visible';}
  412.         var autoplay = System.Gadget.Settings.read("autoplay");
  413.           if (autoplay==true){
  414.             if (mediaPlayer.playState==10 &&  inladenGadget=='0'){ //player ready
  415.               bepaalZender(); // Dit werkt goed, alleen elke keer nadat het config. scherm gesloten wordt, hapert de boel omdat de huidige zender opnieuw ingelezen wordt.
  416.               afspelen();
  417.               inladenGadget = '1';
  418.             }
  419.           }
  420.       }
  421.  
  422.       
  423.       
  424.       
  425. function eigenZendersNaarSystem(){
  426.           var aanvullendeZendersBestand = mapNaam + '\\ZenderData.txt';
  427.         var fso, f, r;
  428.         var ForReading = 1, ForWriting = 2;
  429.         fso = new ActiveXObject("Scripting.FileSystemObject");
  430.         var alleEigenZenders = '';
  431.         if (fso.FileExists(aanvullendeZendersBestand)){
  432.           f = fso.OpenTextFile(aanvullendeZendersBestand, ForReading);
  433.           r =  f.ReadLine();
  434.           alleEigenZenders = r;
  435.           f.Close();
  436.         } else return;
  437.         if (alleEigenZenders != ""){
  438.           var zenderLijst = alleEigenZenders.split("#", alleEigenZenders.length);
  439.           for (var i=1 ; i < zenderLijst.length; i++){   //???
  440.             zenderRegel = zenderLijst[i].split("*", zenderLijst[i].length);
  441.             zenderNaam = zenderRegel[0];
  442.             zenderAdres = zenderRegel[1];
  443.             document.getElementById('selector').options[document.getElementById('selector').options.length]=new Option(zenderNaam, zenderAdres,false,false);
  444.           }
  445.           
  446.         }
  447.         sorteerZendersEnExterneZenders();
  448.       }
  449.  
  450.  
  451. function checkTitle(){
  452.   if (rps==0){
  453.     clearInterval(rpint);
  454.     return;
  455.   }
  456.   var rpint=setInterval("showTitle()",5000);
  457. }
  458.  
  459.  
  460. function showTitle(){
  461.   tempRPtitel = document.getElementById('RealPlayer').getEntryAuthor(0);
  462.   if (huidigeRPtitel != tempRPtitel){
  463.     huidigeRPtitel = tempRPtitel;
  464.     toonPopup(huidigeRPtitel);
  465.   }
  466. }
  467.  
  468.  
  469.  
  470.  
  471. function opnieuwRPtitel(){
  472.   if (rps==0){return;}
  473.   huidigeRPtitel = '';
  474.   checkTitle();
  475. }
  476.  
  477.  
  478.  
  479. function bijwerken(){
  480.   runnedOnce = System.Gadget.Settings.read("runnedOnce");
  481.   if (runnedOnce==''){runnedOnce = '0';}
  482.   if (runnedOnce == '0'){
  483.       wisTxts();
  484.   }
  485. }
  486.  
  487.  
  488.  
  489. function sorteerZendersEnExterneZenders(){
  490.   sorteerEx = System.Gadget.Settings.read("sorteer");
  491.   if (sorteerEx==''){sorteerEx = '0';}
  492.   if (sorteerEx == '0'){
  493.     return false;
  494.   }
  495.   var sorteerArray = new Array();
  496.   var huidigeSorteerRegel;
  497.   for (var i=0;i<document.getElementById('selector').options.length;i++){
  498.      sorteerArray[i] = document.getElementById('selector').options[i].text + '***' + document.getElementById('selector').options[i].value;
  499.   }
  500.   sorteerArray = sorteerArray.sort();
  501.   document.getElementById('selector').options.length = 0;
  502.   for (var j=0;j<sorteerArray.length;j++){
  503.     huidigeSorteerRegel = sorteerArray[j].split("***", sorteerArray[j].length);
  504.     document.getElementById('selector').options[j] = new Option(huidigeSorteerRegel[0],false,false);
  505.     document.getElementById('selector').options[j].value = huidigeSorteerRegel[1];
  506.   }
  507. }
  508.  
  509.  
  510.  
  511. function wisTxts(){
  512.   var fso,fso2;
  513.   fso = new ActiveXObject("Scripting.FileSystemObject");
  514.   fso2 = new ActiveXObject("Scripting.FileSystemObject");
  515.   if (fso.FileExists(mapNaam + "\\ZenderData1.txt" )){fso.DeleteFile( mapNaam + "\\ZenderData1.txt");}
  516.   if (fso2.FileExists(mapNaam + "\\ZenderData2.txt" )){fso.DeleteFile( mapNaam + "\\ZenderData2.txt");}
  517.   System.Gadget.Settings.write("runnedOnce","1");
  518.   runnedOnce = '1';
  519. }
  520.  
  521.  
  522.  
  523. function unDocked(){
  524.   document.body.style.width = '260px';
  525.   document.body.style.height = '100px';
  526.   document.body.style.zoom = '200%';
  527. }
  528.  
  529.  
  530. function docked(){
  531.   document.body.style.width = '130px';
  532.   document.body.style.height = '50px';
  533.   document.body.style.zoom = '100%';
  534. }
  535.  
  536.  
  537. function toonPopup(boodschap){
  538.   var oPopBody = oPopup.document.body;
  539.   oPopBody.style.backgroundColor = "black";
  540.   oPopBody.style.color = "lightyellow";
  541.   oPopBody.style.padding= '2px';
  542.   oPopBody.style.fontFamily = 'Tahoma';
  543.   oPopBody.style.fontSize = '12px';
  544.   oPopBody.style.fontWeight = 'bold';
  545.   oPopBody.innerHTML = '<span style="text-align:center">' + boodschap + '</span><script type="javascript">setTimeout("document.body.style.top=-100px",3000);</script>';
  546.   oPopup.show(0, 0, 350, 18);
  547. }
  548.  
  549.  
  550. function stopRadio(){
  551.   if (rps==1){document.getElementById('RealPlayer').DoStop();}
  552. }
  553.  
  554.  
  555.  
  556. function willekeurigStation(){
  557.   var rand_no = Math.ceil((document.getElementById('selector').length-1)*Math.random());
  558.   document.getElementById('selector').selectedIndex = rand_no;
  559.   bepaalZender();
  560.   afspelen();
  561. }
  562.       
  563.     
  564.