home *** CD-ROM | disk | FTP | other *** search
/ Minami 40 / MINAMI40.ISO / Extra / MPSetup.exe / 1033 / RCDATA / CABINET / wmploc.DLL / HTML / RELATEDARTISTS.HTC < prev    next >
Text File  |  2002-12-14  |  4KB  |  106 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.  
  7. <SCRIPT LANGUAGE="JScript">
  8.  
  9. function reload() { load(); }
  10. function updateMedia(media) { load(); }
  11.  
  12. var oDL;
  13. function load()
  14. {
  15.     oDL = element.document.all('dataload');
  16.     oDL.getDataAsync('info_relatedartists', loadData);
  17.     
  18.     var s = '<table width=368 class=pane border=0 cellpadding=0 cellspacing=0>';
  19.     s += '<tr><td class=artist>' + L_RelatedArtistsTitle_Text + '</td></tr>';
  20.     s += '<tr><td>' + GetRelatedTOC(1) + '</td></tr>';
  21.     s += '<tr><td height=14 class=text id=relatedArtistsHeader></td></tr>';
  22.     s += '<tr><td height=10></td></tr>';
  23.     s += '<tr><td valign=top height=40>' + GetButtons(11, L_RelatedAlbumsTitle_Text, 13, L_RelatedRadioTitle_Text) + '</td></tr>';
  24.     s += '<tr><td id=relatedArtistsData width=368 height=100% valign=top>' + GetLoading('black');
  25.  
  26.     element.innerHTML = s + '</td></tr></table>';    
  27.     SetArtistAlbumHeader('relatedArtistsHeader', true, true, false);
  28. }
  29.  
  30. function resize()
  31. {
  32.     var el = element.document.all(uniqueID + 'resize');
  33.     if (el)
  34.         el.style.height = Math.max(element.document.body.clientHeight - getElementTop('relatedArtistsData'), 10);
  35. }
  36.  
  37. function loadData(oXML)
  38. {
  39.     oDL.saveIDs(oXML);
  40.     var s;
  41.  
  42.     if (oDL.getNodeText(oXML, 'p_id').length)
  43.     {
  44.         var sSimilar, sCollaborators, sRoots;
  45.         
  46.         sSimilar = GetArtists(oDL, oXML, 'Similar Artists', L_SimilarArtistsListHeader_Text, 'XM');
  47.         sCollaborators = GetArtists(oDL, oXML, 'Collaborators', L_CollaboratorsListHeader_Text, 'XC');
  48.         sRoots = GetArtists(oDL, oXML, 'Roots and Influences', L_InfluencedByListHeader_Text, 'XR');
  49.         
  50.         if (sSimilar.length || sCollaborators.length || sRoots.length)
  51.         {
  52.             s = '<div class=text id="' + uniqueID + 'resize" style="overflow-y: scroll; width: 368; height: ' + (element.document.body.clientHeight - getElementTop('relatedArtistsData')) + '">';
  53.             s += '<table border=0 cellpadding=0 cellspacing=0>';
  54.             s += '<tr><td width=180 valign=top>' + sSimilar + '</td><td width=8></td>';
  55.             s += '<td width=180 valign=top><table border=0 cellpadding=0 cellspacing=0><tr><td valign=top>' + sCollaborators;
  56.             s += '</td></tr><tr><td valign=top>' + sRoots + '</td></tr></table></td></tr>';
  57.             s += '</td></tr></table></div>';
  58.         }
  59.         else
  60.         {
  61.             oDL.setNoData(L_NoRelatedArtistsError_Text, 'images\\artist.gif', false);
  62.             return;
  63.         }
  64.     }
  65.     else
  66.     {
  67.         oDL.setNoData(L_CantFindArtistError_Text, 'images\\artist.gif', true);
  68.         return;
  69.     }
  70.  
  71.     try
  72.     {
  73.         element.document.all('relatedArtistsData').innerHTML = s;
  74.     } catch(e)
  75.     {
  76.     }
  77. }
  78.  
  79. function GetArtists(oDL, oXML, sType, sHeader, sCode)
  80. {
  81.     var s = '<table border=0 cellpadding=0 cellspacing=0>', i, iDone = 0;
  82.     var oArtists = oXML.getElementsByTagName('Artist');
  83.  
  84.     s += '<tr><td class=textBold>' + sHeader + '</td></tr>';    
  85.     for (i = 0; i < oArtists.length; i++)
  86.     {
  87.         if (oArtists[i].getAttribute('relation') == sType)
  88.         {
  89.             s += '<tr><td valign=top class=text><A onclick="return visitLink(this, \'' + sCode + 'T' + getClickIndex(i) + '\');" href="' + getMediaGuideUrl('artistprofile') + 'p_id=' + quoteText(oDL.getNodeText(oArtists[i], 'p_id')) + '&name=' + fixText(oDL.getNodeText(oArtists[i], 'Name')) + '" class=text target=wmc>' + fixText(oDL.getNodeText(oArtists[i], 'Name')) + '</a></td></tr>';
  90.             iDone++;
  91.         }
  92.     }
  93.  
  94.     if (iDone)    
  95.         return s + '<tr><td height=15></td></tr></table>';
  96.     else
  97.         return '';
  98. }
  99.  
  100. function noData(sHTML)
  101. {
  102.     element.document.all('relatedArtistsData').innerHTML = sHTML;
  103. }
  104. </SCRIPT>
  105. </PUBLIC:COMPONENT>
  106.