home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 May / PersonalComputerWorld-May2008-CoverdiscCD.iso / Software / Full / Nero 7 / Installation / Cab / A97B5616.cab / BasicFunctions316CBE6A.js next >
Encoding:
JavaScript  |  2006-06-28  |  8.4 KB  |  235 lines

  1.    /////////////////////////////////////////////////////////////
  2.  
  3.    // Identify page as enabled for Media Center. This avoids a warning dialog to user.
  4.  
  5.    function IsMCEEnabled()
  6.  
  7.    {
  8.  
  9.        return true
  10.  
  11.    }
  12.  
  13.  
  14.  
  15. /////////////////////////////////////////////////////////////////
  16.  
  17. // Scaling elements for page resize 
  18.  
  19. function onScaleEvent(vScale)
  20.  
  21. {
  22.  
  23.     try
  24.  
  25.     {
  26.  
  27.         body.style.zoom=vScale;
  28.  
  29.         // when page gets resized, reset positions and sizes of focusable elements
  30.  
  31.         setArray()
  32.  
  33.     }
  34.  
  35.     catch(e)
  36.  
  37.     {
  38.  
  39.         // ignore error
  40.  
  41.     }
  42.  
  43. }
  44.  
  45.  
  46.  
  47. var nFullScreen = 0
  48.  
  49. function backFromFullScreen()
  50.  
  51. {
  52.  
  53.     if (nFullScreen == 0)
  54.  
  55.     {
  56.  
  57.         nFullScreen = 1
  58.  
  59.         return false
  60.  
  61.     }
  62.  
  63.     else return true
  64.  
  65. }
  66.  
  67.  
  68.  
  69.  
  70.  
  71. /////////////////////////////////////////////////////////////////
  72.  
  73. // determine which remote control key the user selected 
  74.  
  75. // and take appropriate action
  76.  
  77. function onRemoteEvent(keyChar)
  78.  
  79. {
  80.  
  81.     /* Call optional "doOnFocus" function if needed; you can locate this function on the HTML page, and use it to tie some
  82.  
  83.    custom functionality to a remote-control keypress. If you want to stop onRemoteEvent from moving focus after that, 
  84.  
  85.    return true in the doOnFocus function to indicate that remote control keypress is already being handled in some other way */
  86.  
  87.     try
  88.  
  89.     {
  90.  
  91.         if (doOnFocus(keyChar) == true) 
  92.  
  93.         {
  94.  
  95.             return true;
  96.  
  97.         }
  98.  
  99.     }
  100.  
  101.     catch(e)
  102.  
  103.     {
  104.  
  105.         // if doOnFocus function is not present on page, ignore error
  106.  
  107.     }
  108.  
  109.     try
  110.  
  111.     {
  112.  
  113.     // this switch tests to see which button on the remote is pressed
  114.  
  115.         switch (keyChar)
  116.  
  117.         {
  118.  
  119.         case 38:  // Up button selected
  120.  
  121.             changeFocus("up");
  122.  
  123.             break;
  124.  
  125.  
  126.  
  127.         case 40:  // Down button selected
  128.  
  129.             changeFocus("down");
  130.  
  131.             break;
  132.  
  133.  
  134.  
  135.         case 37:  // Left button selected
  136.  
  137.             changeFocus("left");
  138.  
  139.             break;
  140.  
  141.  
  142.  
  143.         case 39:  // Right button selected
  144.  
  145.             changeFocus("right");
  146.  
  147.             break;
  148.  
  149.  
  150.  
  151.         case 13:    // Enter button selected, execute link to content/page
  152.  
  153.             doSelect();
  154.  
  155.             return true;
  156.  
  157.             break;
  158.  
  159.  
  160.  
  161.         case 8:  // Keyboard Backspace selected
  162.  
  163.             return false;
  164.  
  165.             break;
  166.  
  167.  
  168.  
  169.         case 166:             // Remote Control Back button selected; Media Center will already perform a Back
  170.  
  171.             return false;      // navigation when this is pressed, but this case can be used to add additional
  172.  
  173.             break;             //functionality to Back button
  174.  
  175.  
  176.  
  177.         case 33:    // Page up (plus) selected; page-up scrolling menu
  178.  
  179.             pageUpDown("up");
  180.  
  181.             return true;
  182.  
  183.             break;
  184.  
  185.             
  186.  
  187.         case 34:    // Page down (minus) selected; page-down scrolling menu
  188.  
  189.             pageUpDown("down");
  190.  
  191.             return true;
  192.  
  193.             break;
  194.  
  195.  
  196.  
  197.         default:
  198.  
  199.             return false;
  200.  
  201.             // ignore all other clicks
  202.  
  203.         }
  204.  
  205.     }
  206.  
  207.     catch(ex)
  208.  
  209.     {
  210.  
  211.         //ignore error
  212.  
  213.     }
  214.  
  215.     return true
  216.  
  217. }
  218.  
  219.  
  220.  
  221.     
  222.  
  223. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  224.  
  225. // Set background color for Shared Viewport and MCE toolbars that appear when you move mouse
  226.  
  227. function setBGColor(Color)
  228.  
  229. {
  230.  
  231.     try
  232.  
  233.     {
  234.  
  235.         window.external.MediaCenter.BGColor = Color
  236.  
  237.     }
  238.  
  239.     catch(e)
  240.  
  241.     {
  242.  
  243.         // not using Media Center, or attribute not set
  244.  
  245.     }
  246.  
  247. }
  248.  
  249.  
  250.  
  251. ////////////////////////////////////////////////////////////////////////////////////////////////////////////
  252.  
  253. /* For Media Center 2003 version, test onload event to see if variables are reset; if they are not, this
  254.  
  255. means that user is returning from some Media Center view, such as full-screen video mode or my TV.
  256.  
  257. If this is the case, you want to ignore your page's onload event. In the current version of Media Center, 
  258.  
  259. the page does not fire an onload event when this happens, so this function will not be necessary */
  260.  
  261.  
  262.  
  263. var backFromMediaCenter = false
  264.  
  265. function continueOnloadFunctions()
  266.  
  267. {
  268.  
  269.     if (backFromMediaCenter == false) // meaning variable has been reset to its default state
  270.  
  271.     {
  272.  
  273.         // set variable to true and return
  274.  
  275.         backFromMediaCenter = true
  276.  
  277.         return
  278.  
  279.     }
  280.  
  281.     /* otherwise, page variables have not been reset, so you do not want to continue to call
  282.  
  283.     your page initilizing functions. Return false */
  284.  
  285.      return false
  286.  
  287. }
  288.  
  289.     
  290.  
  291. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  292.  
  293. // This function tests to see if you need to open a Viewport for media playback
  294.  
  295. function needViewport()
  296.  
  297. {
  298.  
  299.     // if Shared or Custom Viewport is already visible, return false
  300.  
  301.     if (window.external.MediaCenter.SharedViewPort.Visible == true || window.external.MediaCenter.CustomViewPort.Visible == true)
  302.  
  303.     {
  304.  
  305.         return false
  306.  
  307.     }
  308.  
  309.     // if there is no media playing, return false
  310.  
  311.     if(window.external.MediaCenter.Experience.PlayState == -1) return false
  312.  
  313.     // otherwise return true
  314.  
  315.     return true
  316.  
  317. }
  318.  
  319.  
  320.  
  321. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  322.  
  323. // This function detects what version of Media Center the user is running. It will return year as string, such as "2005"
  324.  
  325. function showMCEVersion()
  326.  
  327. {
  328.  
  329.     try
  330.  
  331.     {
  332.  
  333.         var nMajVer = window.external.MediaCenter.MajorVersion
  334.  
  335.     }
  336.  
  337.     catch (e)
  338.  
  339.     {
  340.  
  341.         return null
  342.  
  343.     }
  344.  
  345.     if (nMajVer < 7) return "2004"
  346.  
  347.     if (nmajVer = 7) return "2005"
  348.  
  349.     // in case above fails, return null
  350.  
  351.     return null
  352.  
  353. }
  354.  
  355.  
  356.  
  357. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  358.  
  359. // This function detects whether user is in a remote session on a Media Center Extender device
  360.  
  361. // detect whether user is in a remote session on a Media Center Extender device
  362.  
  363. function IsMCExtender()
  364.  
  365. {
  366.  
  367.     try
  368.  
  369.     {
  370.  
  371.         // if this is not a console session ...
  372.  
  373.         if (window.external.MediaCenter.Capabilities.IsConsole == false)
  374.  
  375.         {
  376.  
  377.             /* ...then it is either a Media Center Extender session or a traditional Remote Desktop session.
  378.  
  379.              To tell which type of session it is, check if video is allowed. If video is allowed... */
  380.  
  381.             if (window.external.MediaCenter.Capabilities.IsVideoAllowed == true)
  382.  
  383.             {
  384.  
  385.                 // ... then it is an extender session, so return true    
  386.  
  387.                 return true
  388.  
  389.             }
  390.  
  391.             // Media Center does not allow video in a traditional Remote Desktop session. So if video is not allowed ...
  392.  
  393.             else
  394.  
  395.             {
  396.  
  397.                 /* IsConsole and IsVideoAllowed are both false false, so user is accessing through a traditional Remote 
  398.  
  399.                 Desktop session, rather than from an extender device. That means that they probably have access to a keyboard 
  400.  
  401.                 and mouse, but they cannot play video. If your application features video playback, you may want to 
  402.  
  403.                 adjust your functionality for this user accordingly. 
  404.  
  405.                 Returning false simply indicates that this is not an Extender session.  */     
  406.  
  407.                 return false
  408.  
  409.             }
  410.  
  411.         }
  412.  
  413.         else
  414.  
  415.         {
  416.  
  417.             // If not, this is a Media Center session on the console PC, so return false
  418.  
  419.             return false
  420.  
  421.         }
  422.  
  423.     }
  424.  
  425.     catch(e)
  426.  
  427.     {
  428.  
  429.         /* If above cause errors, user is probably accessing from a browser outside of Media Center.
  430.  
  431.         Return false to indicate that it is not an extender session. */
  432.  
  433.         return false
  434.  
  435.     }
  436.  
  437. }
  438.  
  439.  
  440.  
  441. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  442.  
  443. // Function for reloading page
  444.  
  445.     function reloadPage()
  446.  
  447.     {
  448.  
  449.         /* This function refreshes the page, and calls the onScaleEvent function
  450.  
  451.         to manage resizing of the elements on the page */
  452.  
  453.         window.location.reload()
  454.  
  455.         // determine width of page
  456.  
  457.         var newWidth = body.getBoundingClientRect().right
  458.  
  459.         // determine how much the page needs to be resized, by comparing page width to 1024
  460.  
  461.         var sizeAmount = (newWidth/1024)
  462.  
  463.         // call onScaleEvent function
  464.  
  465.         onScaleEvent(sizeAmount)
  466.  
  467.     }
  468.  
  469.