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