home *** CD-ROM | disk | FTP | other *** search
/ Minami 40 / MINAMI40.ISO / Extra / MPSetup.exe / 1033 / RCDATA / CABINET / wmploc.DLL / HTML / RELATEDRADIO.HTC < prev    next >
Text File  |  2002-12-14  |  4KB  |  131 lines

  1. <PUBLIC:COMPONENT lightWeight=true>
  2. <PUBLIC:METHOD NAME="reload" />
  3. <PUBLIC:METHOD NAME="updateMedia" />
  4. <PUBLIC:ATTACH EVENT="onresize" ONEVENT="resize()" />
  5. <PUBLIC:METHOD NAME="noData" />
  6. <PUBLIC:METHOD NAME="playStation" />
  7.  
  8. <SCRIPT LANGUAGE="JScript">
  9.  
  10. function reload() { load(); }
  11. function updateMedia(media) { load(); }
  12.  
  13. var oDL;
  14. function load()
  15. {
  16.     oDL = element.document.all('dataload');
  17.     oDL.getDataAsync('info_relatedradio', loadData);
  18.  
  19.     var s = '<table width=368 class=pane border=0 cellpadding=0 cellspacing=0>';
  20.     s += '<tr><td class=artist>' + L_RelatedRadioTitle_Text + '</td></tr>';
  21.     s += '<tr><td>' + GetRelatedTOC(2) + '</td></tr>';
  22.     s += '<tr><td height=14 class=text id=relatedRadioHeader></td></tr>';
  23.     s += '<tr><td height=10></td></tr>';
  24.     s += '<tr><td valign=top height=40>' + GetButtons(12, L_RelatedArtistsTitle_Text, -1, '') + '</td></tr>';
  25.     s += '<tr><td width=368 height=100% id=relatedRadioData valign=top>' + GetLoading('black') + '</td></tr></table>';
  26.     
  27.     element.innerHTML = s;    
  28.     SetArtistAlbumHeader('relatedRadioHeader', true, true, false);
  29. }
  30.  
  31. function resize()
  32. {
  33.     var el = element.document.all(uniqueID + 'resize');
  34.     if (el)
  35.         el.style.height = Math.max(element.document.body.clientHeight - getElementTop('relatedRadioData'), 10);
  36. }
  37.  
  38. function loadData(oXML)
  39. {
  40.     oDL.saveIDs(oXML), sHTML;
  41.     var s;
  42.  
  43.     if (oDL.getNodeText(oXML, 'msid_person').length)
  44.     {
  45.         var sHTML = GetRelatedRadio(oDL, oXML);
  46.         if (sHTML.length)
  47.         {
  48.             s = '<div class=text id="' + uniqueID + 'resize" style="overflow-y: scroll; width: 368; height: ' + (element.document.body.clientHeight - getElementTop('relatedRadioData')) + '">';
  49.             s += sHTML + '</div>';
  50.         }
  51.         else
  52.         {
  53.             oDL.setNoData(L_NoRelatedRadioError_Text, 'images\\artist.gif', true);
  54.             return;
  55.         }
  56.     }
  57.     else
  58.     {
  59.         oDL.setNoData(L_CantFindArtistError_Text, 'images\\artist.gif', true);
  60.         return;
  61.     }
  62.  
  63.     try
  64.     {
  65.         element.document.all('relatedRadioData').innerHTML = s;
  66.     } catch(e)
  67.     {
  68.     }
  69. }
  70.  
  71. function GetRelatedRadio(oDL, oXML)
  72. {
  73.     var oStations = oXML.getElementsByTagName('RelatedRadio'), i;
  74.     var s = '<table border=0 cellpadding=0 cellspacing=0>';
  75.     
  76.     if (oStations.length)
  77.     {
  78.         for (i = 0; i < oStations.length; i++)
  79.             s += '<tr><td valign=top>' + GetOneStation(oDL, oStations[i], i) + '</tr></td><tr><td height=10></td></tr>';
  80.         s += '</table>';
  81.     }
  82.     else
  83.         s = '';
  84.     
  85.     return s;
  86. }
  87.  
  88. function playStation(sStream, sWeb)
  89. {
  90.     if (sWeb.length)
  91.         launchUrl(sWeb);
  92.     playMedia(sStream);
  93.     return false;
  94. }
  95.  
  96. function GetOneStation(oDL, o, i)
  97. {
  98.     var s = '<table border=0 cellpadding=0 cellspacing=0>', sPlayUrl, sWebUrl, oStream, oWeb;
  99.     
  100.     s += '<tr><td valign=top width=30><img border=0 src="images\\radio.gif"></td><td width=10></td>';
  101.     s += '<td valign=top><table width=320 border=0 cellpadding=0 cellspacing=0>';
  102.     
  103.     s += '<tr><td class=textBold>' + fixText(oDL.getNodeText(o, 'StationName')) + '</td></tr>';
  104.     s += '<tr><td class=textGray>' + fixText(oDL.getNodeText(o, 'Abstract')) + '</td></tr>';
  105.     
  106.     oStream = o.getElementsByTagName('StreamLoc')
  107.     oWeb = o.getElementsByTagName('WebLoc')
  108.     
  109.     sPlayUrl = oDL.getUrl(oStream[0]);
  110.     sWebUrl = oDL.getUrl(oWeb[0]);
  111.     
  112.     if (sPlayUrl.length)
  113.     {
  114.         s += '<tr><td class=text><A href="X" onclick="trackIt(\'RLK' + getClickIndex(i) + '\'); return ' + uniqueID + '.playStation(\'' + quoteText(sPlayUrl) + '\', \'' + quoteText(sWebUrl) + '\');" class=text>' + L_PlayStationAudio_Text + '</a>';
  115.         if (sWebUrl.length)
  116.             s += ' | <A ' + getHrefText(sWebUrl, false, 'RLT' + getClickIndex(i)) + ' class=text>' + L_VisitStationWebsite_Text + '</a></td></tr>';
  117.     }
  118.     else
  119.         s += '<tr><td class=text><A ' + getHrefText(sWebUrl, false, 'RLT' + getClickIndex(i)) + ' class=text>' + L_VisitStationWebsiteToPlay_Text + '</a></td></tr>';
  120.     
  121.     s += '</table></td></tr></table>';
  122.     return s;
  123. }
  124.  
  125. function noData(sHTML)
  126. {
  127.     element.document.all('relatedRadioData').innerHTML = sHTML;
  128. }
  129. </SCRIPT>
  130. </PUBLIC:COMPONENT>
  131.