home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September (Special) / Chip-Special_2002-09_Digitalni-Video.bin / servis / wm9 / mpsetupXP.exe / RCDATA / CABINET / wmploc.DLL / HTML / LYRICS.HTC < prev    next >
Text File  |  2002-08-19  |  4KB  |  113 lines

  1. <PUBLIC:COMPONENT lightWeight=true>
  2. <PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="load()" />
  3. <PUBLIC:METHOD NAME="reload" />
  4. <PUBLIC:METHOD NAME="updateMedia" />
  5. <PUBLIC:METHOD NAME="scriptCommand" />
  6. <PUBLIC:METHOD NAME="edit" />
  7.  
  8. <SCRIPT LANGUAGE="JScript">
  9.  
  10. function reload() { load(); }
  11.  
  12. function load()
  13. {
  14.     var s = '<table width=368 class=pane border=0 cellpadding=0 cellspacing=0>';
  15.     
  16.     s += '<tr><td class=artist>' + L_LyricsTitle_Text + '</td></tr>';
  17.     s += '<tr><td height=16><table width=368 border=0 cellpadding=0 cellspacing=0><td id=trackNameLyrics class=text></td><td class=textTitle align=right id=lyricsEditButton onbuttonclick="return oCurrentPage.edit(true);" style="behavior:url(barbutton.htc)" text="' + L_AddLyricsButton_Text + '"></td></tr></table></td></tr>';
  18.     s += '<tr><td height=14><span class=textGray id=lyricsArtistName></span> <span class=textGray id=lyricsSep>/</span> <span id=lyricsAlbumName class=textGray></span></td></tr>';
  19.     s += '<tr><td height=10></td></tr>';
  20.     s += '<tr><td class=text id=syncLyrics height=40></td></tr>';
  21.     s += '<tr><td><table border=0 cellpadding=0 cellspacing=0>';
  22.  
  23.     s += '<tr><td width=368 height=100% valign=top><div id=lyricsText class=text style="overflow-y: scroll; width: 368; height: expression(Math.max(144, document.body.clientHeight - 176))"></div><textarea id=lyricsTextEdit class=text style="display:none; width:100%; height:expression(Math.max(144, document.body.clientHeight - 176))"></textarea></td></tr>';
  24.     
  25.     s += '</table></td></tr></table>';
  26.     element.innerHTML = s;    
  27. }
  28.  
  29. var fIsEditing = false;
  30. function updateMedia(media) 
  31. {
  32.     var c, s = '', a = element.document.all, oButton;
  33.     a('trackNameLyrics').innerText = a('trackNameSaved').innerText;
  34.     a('lyricsArtistName').innerText = a('artistNameSaved').innerText;
  35.     oButton = a('lyricsEditButton');
  36.     if (media)
  37.     {
  38.         a('lyricsAlbumName').innerHTML = fixText(media.getItemInfo('WM/AlbumTitle'));
  39.         
  40.         s = media.getItemInfo('WM/Lyrics');
  41.         if (s == '')
  42.         {
  43.             s = L_NoLyrics_Text;
  44.             oButton.text = L_AddLyricsButton_Text;
  45.         }
  46.         else
  47.             oButton.text = L_EditLyricsButton_Text;
  48.  
  49.         a('lyricsText').innerHTML = s;
  50.     }
  51.  
  52.     if (fIsEditing) edit(false);
  53.  
  54.     if (!media || media.isReadOnlyItem('WM/Lyrics'))
  55.         oButton.style.display = 'none';
  56.     else
  57.         oButton.style.display = 'inline';
  58.     
  59.     if (a('lyricsAlbumName').innerText.length)
  60.         a('lyricsSep').style.display = 'inline';
  61.     else
  62.         a('lyricsSep').style.display = 'none';
  63. }
  64.  
  65. function edit(fSave)
  66. {
  67.     if (fIsEditing)
  68.     {
  69.         var p = element.document.all('player');
  70.         var m = p.currentMedia;
  71.  
  72.         if (fSave)
  73.             if (m && !m.isReadOnlyItem('WM/Lyrics'))
  74.                 m.setItemInfo('WM/Lyrics', element.document.all('lyricsTextEdit').innerText);
  75.             
  76.         element.document.all('lyricsText').style.display = 'block';
  77.         element.document.all('lyricsTextEdit').style.display = 'none';
  78.         element.document.all('lyricsEditButton').text = L_AddLyricsButton_Text;
  79.         fIsEditing = false;
  80.         updateUI();
  81.     }
  82.     else
  83.     {
  84.         element.document.all('lyricsText').style.display = 'none';
  85.         element.document.all('lyricsTextEdit').style.display = 'block';
  86.         element.document.all('lyricsTextEdit').innerText = element.document.all('lyricsText').innerText;
  87.         element.document.all('lyricsEditButton').text = L_SaveLyricsButton_Text;
  88.         fIsEditing = true;
  89.     }
  90.     return false;
  91. }
  92.  
  93. function updateUI()
  94. {
  95.     try
  96.     {
  97.         var p = element.document.all('player');
  98.         var m = p.currentMedia;
  99.         updateMedia(m);
  100.     } catch(e)
  101.     {
  102.     }
  103. }
  104.  
  105. function scriptCommand(sCommand, sText)
  106. {
  107.     if (sCommand == 'SynchronizedLyricLyric')
  108.         element.document.all('syncLyrics').innerText = sText;
  109. }
  110.  
  111. </SCRIPT>
  112. </PUBLIC:COMPONENT>
  113.