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 / DATALOAD.HTC < prev    next >
Text File  |  2002-08-19  |  3KB  |  129 lines

  1. <PUBLIC:COMPONENT lightWeight=true>
  2. <PUBLIC:METHOD NAME="getDataAsync" />
  3. <PUBLIC:METHOD NAME="getDataAsync2" />
  4. <PUBLIC:METHOD NAME="getDataAsyncAlbum" />
  5. <PUBLIC:METHOD NAME="getNodeText" />
  6. <PUBLIC:METHOD NAME="getSubNode" />
  7. <PUBLIC:METHOD NAME="saveIDs" />
  8. <PUBLIC:METHOD NAME="Stop" />
  9.  
  10. <PUBLIC:PROPERTY NAME="AID" />
  11. <PUBLIC:PROPERTY NAME="PID" />
  12. <PUBLIC:PROPERTY NAME="MSIDAlbum" />
  13. <PUBLIC:PROPERTY NAME="MSIDPerson" />
  14.  
  15. <SCRIPT LANGUAGE="JScript">
  16. var sPID, sAID;
  17. function getDataAsync2(sPage, fnCallback, sParam)
  18.     var sTOC = element.document.all('toc').innerText, sContentID = element.document.all('contentid').innerText, oXML;
  19.     oXML = getDataExAsync(sPage, '&toc=' + sTOC + '&content_id=' + sContentID + '&a_id=' + AID + '&p_id=' + PID + '&msid_person=' + MSIDPerson + '&msid_album=' + MSIDAlbum + sParam, fnCallback);
  20.     
  21.     return oXML;
  22. }
  23.  
  24. function getDataAsyncAlbum(sPage, fnCallback, sParam)
  25.     var oXML;
  26.     oXML = getDataExAsync(sPage, sParam, fnCallback);
  27.     return oXML;
  28. }
  29.  
  30. function getDataAsync(sPage, fnCallback)
  31.     return getDataAsync2(sPage, fnCallback, '');
  32. }
  33.  
  34. function saveIDs(oXML)
  35. {
  36.     var sTemp;
  37.     
  38.     sTemp = getNodeText(oXML, 'AID');
  39.     if (sTemp.length > 0)
  40.         AID = sTemp;
  41.         
  42.     sTemp = getNodeText(oXML, 'PID');
  43.     if (sTemp.length > 0)
  44.         PID = sTemp;
  45.         
  46.     sTemp = getNodeText(oXML, 'msid_person');
  47.     if (sTemp.length > 0)
  48.         MSIDPerson = sTemp;
  49.  
  50.     sTemp = getNodeText(oXML, 'msid_album');
  51.     if (sTemp.length > 0)
  52.         MSIDAlbum = sTemp;
  53.  
  54. }
  55.  
  56. var oXMLCurrent = null, pfnCurrent = null;
  57. function Callback()
  58. {
  59.     if (pfnCurrent)
  60.         pfnCurrent();
  61. }
  62.  
  63. function Stop()
  64. {
  65.     if (oXMLCurrent)
  66.         oXMLCurrent.abort();
  67.     oXMLCurrent = null;
  68.     pfnCurrent = null;
  69. }
  70.  
  71. function getDataExAsync(sPage, sParams, fnCallback)
  72. {
  73.     var oXML = new ActiveXObject('Microsoft.XMLDOM'), p, ex, fGetData = false;
  74.     Stop();
  75.     p = element.document.all('player')
  76.     if (p.isOnline)
  77.     {
  78.         ex = window.external;
  79.         if (ex)
  80.         {
  81.             if (ex.appColorMedium)
  82.             {
  83.                 if (ex.IsAutoMetadataDownloadAllowed())
  84.                     fGetData = true;
  85.             }
  86.             else
  87.                 fGetData = true;
  88.         }
  89.     }
  90.     
  91.     if (fGetData)
  92.     {
  93.         oXMLCurrent = oXML;
  94.         pfnCurrent = fnCallback;
  95.             
  96. //        var sUrl = 'http://dwsdevserv/xmlinterface/servedocument.asp?doc=' + sPage + sParams;
  97.         var sUrl = 'http://windowsmedia.com/redir/servedocument.asp?doc=' + sPage + sParams;
  98.  
  99.         element.innerText = sUrl;
  100.         oXML.async = true;
  101.         oXML.onreadystatechange = Callback;
  102.         oXML.load(sUrl);
  103.     }
  104.     return oXML;
  105. }
  106.  
  107. function getNodeText(oXML, sNode)
  108. {
  109.     if (oXML)
  110.     {
  111.         var oObj = oXML.getElementsByTagName(sNode);
  112.         if (oObj.length > 0)
  113.             return oObj[0].text
  114.     }
  115.     return '';
  116. }
  117.  
  118. function getSubNode(oXML, sNode)
  119. {
  120.     var oObj = oXML.getElementsByTagName(sNode);
  121.     return oObj;
  122. }
  123.  
  124. </SCRIPT>
  125. </PUBLIC:COMPONENT>
  126.