home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 December / Chip_2003-12_cd1.bin / opsys / wmakeup / download / SmartDisplaySilver.wmz / mira.js < prev    next >
Encoding:
Text (UTF-16)  |  2003-03-17  |  32.3 KB  |  757 lines

  1. /*
  2.     The Skins Factory
  3.     http://www.theskinsfactory.com
  4.     info@theskinsfactory.com
  5. */
  6.  
  7. function checkMediaOnLoad(){
  8.     if(player){}
  9.     view.width = 0;
  10.     view.height = 0;
  11.     view.backgroundImage = "";
  12.     theme.currentViewID = "mainView";
  13.  
  14.     if( ((player.Playstate==3)||(player.Playstate==2)) && (player.currentMedia.ImageSourceWidth>0)){
  15.         theme.currentViewID = 'videoView';
  16.         loadGlobalPrefs();
  17.     }else{
  18.         theme.currentViewID = 'mainView';
  19.         loadGlobalPrefs();
  20.     }
  21. }
  22.  
  23. var introStatus = false;
  24.  
  25. function introSequence(){
  26.     if(!introStatus){
  27.         var _shutterStatus = theme.loadPreference('shutterStatus');
  28.  
  29.         if (_shutterStatus != '--') {
  30.             shutterStatus = (_shutterStatus.toLowerCase() == 'true') ? false : true;
  31.         } else {
  32.             shutterStatus = true;
  33.         }
  34.  
  35.         toggleShutter();
  36.         toggleShutterUpdate();
  37.         view.timerInterval = 0;
  38.     }
  39. }
  40.  
  41. function mainStartUp(){
  42.     volume.value = player.settings.volume;
  43.     loadMainPrefs();
  44.     checkPlayerState();
  45.     updateMetadata();
  46. }
  47.  
  48. var shutterStatus = false;
  49.  
  50. function toggleShutter(){
  51.     if(shutterStatus){
  52.         mainBotDrawer.moveTo(57,319,500);
  53.         shutterButtonSub.moveTo(106,392,500);
  54.         mainSeekDrawer.moveTo(0,167,500);
  55.         mainVolDrawer.moveTo(221,167,500);
  56.         botDrawerButtons.visible = seek.visible = volume.visible = true;
  57.         drawerButton.down = true;
  58.         shutterStatus = !shutterStatus;
  59.     }else{
  60.         mainBotDrawer.moveTo(57,282,500);
  61.         shutterButtonSub.moveTo(106,356,500);
  62.         mainSeekDrawer.moveTo(18,167,500);
  63.         mainVolDrawer.moveTo(202,167,500);
  64.         drawerButton.down = false;
  65.         shutterStatus = !shutterStatus;
  66.     }
  67. }
  68.  
  69. var shutterStatus2 = false;
  70.  
  71. function toggleShutterUpdate(){
  72.     if(!shutterStatus2){
  73.         shutterSub.backgroundImage = "shutter_open.gif";
  74.         shutterButton.down = false;
  75.         shutterStatic.visible = false;
  76.         shutterStatus2 = !shutterStatus2;
  77.     }else{
  78.         shutterSub.backgroundImage = "shutter_close.gif";
  79.         shutterButton.down = true;
  80.         shutterStatic.visible = true;
  81.         shutterStatus2 = !shutterStatus2;
  82.     }
  83. }
  84.  
  85. function checkShutterStatus(){
  86.     shutterStatus = shutterStatus;
  87.     botDrawerButtons.visible = seek.visible = volume.visible = !shutterStatus;
  88. }
  89.  
  90. function checkPlayerState(){
  91.  
  92.     if (player){
  93.         switch (player.playState){
  94.  
  95.             case 3:     //playing
  96.                 if(player.currentMedia.ImageSourceWidth>0){
  97.                     theme.currentViewID = 'videoView';
  98.                     break;
  99.                 }
  100.                 break;
  101.             }
  102.         }
  103.  
  104.  
  105.     if (!player.controls.isAvailable("Stop")) {
  106.         
  107.     }
  108.     
  109. }
  110.  
  111. // metadata
  112.  
  113. function updateMetadata(type){
  114.     if("status"==type){
  115.         if(player.openState!=13) return;
  116.  
  117.         var metaAuthor = player.currentMedia.getItemInfo("author");
  118.  
  119.         if (metaAuthor != "") {
  120.             metaAuthor += " - ";
  121.         }
  122.  
  123.         metadata.value = player.status;
  124.  
  125.         if (metadata.value != "") {
  126.             metadata.value += " - ";
  127.         }
  128.  
  129.         metadata.value += metaAuthor;
  130.     }else if("playlist"==type){
  131.         if(player.currentPlaylist.count==0) return;
  132.  
  133.         var metaAuthor = player.currentMedia.getItemInfo("author");
  134.  
  135.         if (metaAuthor != "") {
  136.             metaAuthor += " - ";
  137.         }
  138.  
  139.         if(player.openState!=13){
  140.             metadata.value = metaAuthor;
  141.         }
  142.     }else{
  143.         metadata.value = player.status;
  144.         metadata.scrolling = (metadata.textWidth>metadata.width);
  145.         return;
  146.     }
  147.  
  148.     metadata.value += player.currentmedia.name;
  149.     metadata.scrolling = (metadata.textWidth>metadata.width);
  150.  
  151. }
  152.  
  153.  
  154. // button and hotkey definitions
  155.  
  156. // open file
  157. function openFile(){
  158.     var media = theme.openDialog('FILE_OPEN','FILES_ALLMEDIA');
  159.     if (media) {
  160.         player.URL = media;
  161.         player.controls.play();
  162.     }
  163. }
  164.  
  165. function viewHotKeys(){
  166.     switch(event.keycode){
  167.         case 122:
  168.         case 90:
  169.             player.controls.previous();
  170.             break;
  171.         case 120:
  172.         case 88:
  173.             player.controls.play();
  174.             break;
  175.         case 99:
  176.         case 67:
  177.             player.controls.pause();
  178.             break;
  179.         case 118:
  180.         case 86:
  181.             player.controls.stop();
  182.             break;
  183.         case 98:
  184.         case 66:
  185.             player.controls.next();
  186.             break;
  187.         case 108:
  188.         case 76:
  189.             openFile();
  190.             break;
  191.     }
  192. }
  193.  
  194. function viewResizer(event){
  195.     switch(event.keycode){
  196.         case 37:
  197.             view.width-=20;
  198.             break;
  199.         case 38:
  200.             view.height-=20
  201.             break;
  202.         case 39:
  203.             view.width+=20;
  204.             break;
  205.         case 40:
  206.             view.height+=20;
  207.             break;
  208.         }
  209. }
  210.  
  211. function updateSeekToolTip(){
  212.     if(player.openState!=13) return;
  213.  
  214.     var seekHours = Math.floor((seek.value / 3600));
  215.     if (seekHours < 10) seekHours = "0" + seekHours;
  216.  
  217.     var seekMinutes = Math.floor((seek.value - (seekHours*3600))/60);
  218.     if (seekMinutes < 10) seekMinutes = "0" + seekMinutes;
  219.  
  220.     var seekSeconds = Math.floor((seek.value - (seekMinutes*60) - (seekHours*3600)));
  221.     if (seekSeconds < 10) seekSeconds = "0" + seekSeconds;
  222.  
  223.     var seekString;
  224.  
  225.     if (seekHours==00) {
  226.         seekString = "";
  227.     }else{
  228.         seekString = seekHours + ":";
  229.     }
  230.  
  231.     seekString += seekMinutes + ":" + seekSeconds;
  232.  
  233.     seek.toolTip = seekString;
  234.     seek.toolTip += " / ";
  235.     seek.toolTip += player.currentMedia.DurationString;
  236.  
  237. }
  238.  
  239. function updateSeekToolTip2(){
  240.     if(player.openState!=13) return;
  241.  
  242.     var seekHours = Math.floor((seek2.value / 3600));
  243.     if (seekHours < 10) seekHours = "0" + seekHours;
  244.  
  245.     var seekMinutes = Math.floor((seek2.value - (seekHours*3600))/60);
  246.     if (seekMinutes < 10) seekMinutes = "0" + seekMinutes;
  247.  
  248.     var seekSeconds = Math.floor((seek2.value - (seekMinutes*60) - (seekHours*3600)));
  249.     if (seekSeconds < 10) seekSeconds = "0" + seekSeconds;
  250.  
  251.     var seekString;
  252.  
  253.     if (seekHours==00) {
  254.         seekString = "";
  255.     }else{
  256.         seekString = seekHours + ":";
  257.     }
  258.  
  259.     seekString += seekMinutes + ":" + seekSeconds;
  260.  
  261.     seek2.toolTip = seekString;
  262.     seek2.toolTip += " / ";
  263.     seek2.toolTip += player.currentMedia.DurationString;
  264.  
  265. }
  266.  
  267. function updateToolTip(id,button,tip){
  268.     if("true"==theme.loadPreference( id )){
  269.         eval( button +".upToolTip = locHide" + tip + ".toolTip" );
  270.     }else{
  271.         eval( button +".upToolTip = locShow" + tip + ".toolTip" );
  272.     }
  273. }
  274.  
  275. function updateVolToolTip(){
  276.     volume.toolTip = "";
  277.     volume.toolTip += player.settings.volume;
  278. }
  279.  
  280. function updateRemoteVolToolTip(){
  281.     volume2.toolTip = "";
  282.     volume2.toolTip += player.settings.volume;
  283. }
  284.  
  285. function updateShuffRep(){
  286.     if(player.settings.getMode('shuffle')){
  287.         shuffleButton.down = true;
  288.     }else{
  289.         shuffleButton.down = false;
  290.     }
  291.  
  292.     if(player.settings.getMode('loop')){
  293.         repeatButton.down = true;
  294.     }else{
  295.         repeatButton.down = false;
  296.     }
  297. }
  298.  
  299. //
  300.  
  301. function volKey(event){
  302.     switch(event.keycode){
  303.         case 37:
  304.         case 40:
  305.             if(player.settings.volume < 95){
  306.                 player.settings.volume+=5;
  307.             }else{
  308.                 player.settings.volume = 100;
  309.             }
  310.             break;
  311.         case 39:
  312.         case 38:
  313.             if(player.settings.volume > 5){
  314.                 player.settings.volume-=5;
  315.             }else{
  316.                 player.settings.volume = 0;
  317.             }
  318.             break;        
  319.         }
  320.         //mute.down = false;
  321.         player.settings.mute = false;
  322.     }
  323.  
  324. function seekKey(event){
  325.     switch(event.keycode){
  326.         case 37:
  327.         case 40:
  328.             if(player.controls.currentPosition > 10){
  329.                 player.controls.currentPosition-=10;
  330.             }else{
  331.                 player.controls.currentPosition = 0;
  332.             }
  333.             break;
  334.         case 39:
  335.         case 38:
  336.             if(player.controls.currentPosition < 900){
  337.                 player.controls.currentPosition+=10;
  338.             }else{
  339.                 player.controls.currentPosition = 1000;
  340.             }
  341.             break;        
  342.         }
  343.     }
  344.  
  345. // view toggle 
  346.  
  347. function toggleView(name,id){
  348.     if("true"==theme.loadPreference(id)){
  349.         theme.savePreference(id, "false");
  350.         theme.closeView( name );
  351.     }else{
  352.         theme.openView( name );
  353.     }
  354. }
  355.  
  356. function closeView(id){
  357.     theme.savePreference(id, "false");
  358.     if( id=="vidViewer" && player.currentMedia.ImageSourceWidth>0 ){
  359.         player.controls.stop();
  360.     }
  361.     view.close();
  362. }
  363.  
  364. function autoSizeView(width,height){
  365.     var viewSize = theme.loadPreference( width );
  366.  
  367.     if( "--" != viewSize )
  368.     {
  369.         view.width = viewSize;
  370.     }else{
  371.         view.width = view.minWidth;
  372.     }
  373.  
  374.     viewSize = theme.loadpreference( height );
  375.  
  376.     if( "--" != viewSize )
  377.     {
  378.         view.height = viewSize;
  379.     }else{
  380.         view.height = view.minHeight;
  381.     }
  382. }
  383.  
  384. function saveViewSize(width,height){
  385.     theme.savepreference( width , view.width );
  386.     theme.savepreference( height , view.height );
  387. }
  388.  
  389. // preferences
  390.  
  391. function loadMainPrefs(){
  392.  
  393.     if ("true"==theme.loadPreference("visViewer")){
  394.         theme.openView( 'visView' );
  395.     }
  396.  
  397.     if ("true"==theme.loadPreference("remoteViewer")){
  398.         theme.closeView('remoteView');
  399.     }
  400. }
  401.  
  402. function saveMainPrefs() {
  403.     theme.savePreference('shutterStatus',shutterStatus);
  404. }
  405.  
  406. function mainShutDown(){
  407.     saveMainPrefs();
  408. }
  409.  
  410. function loadGlobalPrefs(){
  411.     if ("true"==theme.loadPreference("plViewer")){
  412.         theme.openView( 'plView' );
  413.     }
  414.  
  415.     if ("true"==theme.loadPreference("eqViewer")){
  416.         theme.openView( 'eqView' );
  417.     }
  418. }
  419.  
  420. // playlist
  421. function loadPlPrefs(){
  422.     theme.savePreference( 'plViewer', "true" );
  423.  
  424.     autoSizeView('plWidth','plHeight');
  425.  
  426.     var index = 0;
  427.  
  428.     playlist1.setColumnResizeMode( index++, "Stretches" );
  429.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  430.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  431.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  432.     playlist1.setColumnResizeMode( index++, "AutosizeHeader" );
  433.  
  434. }
  435.  
  436. function addToPlaylist(){
  437.     var media = theme.openDialog( "FILE_OPEN" , "FILES_ALLMEDIA" );
  438.     if(media){
  439.         newMedia = player.mediaCollection.add( media );
  440.         playlist1.playlist.appendItem( newMedia );
  441.     }
  442. }
  443.  
  444. function delFromPlaylist(){
  445.     playlist1.deleteSelected()
  446. }
  447.  
  448. function savePlPrefs(){
  449.     saveViewSize('plWidth','plHeight');
  450. }
  451.  
  452. // equalizer
  453. function loadEQPrefs(){
  454.     theme.savePreference( 'eqViewer', "true" );
  455.     if(truBass.enabled){
  456.         srsCover.visible = false;
  457.     }
  458. }
  459.  
  460. function updateBalToolTip(){
  461.     balance.toolTip = "";
  462.     balance.toolTip += player.settings.balance;
  463. }
  464.  
  465. function toggleSpeaker(){
  466.     if(eq.speakerSize==2){
  467.         eq.speakerSize = -1;
  468.     }
  469.     eq.speakerSize++
  470. }
  471.  
  472. // visualizations
  473. function loadVisPrefs(){
  474.     theme.savePreference( 'visViewer', "true" );
  475.     visEffects.currentEffectType = mediacenter.effectType;
  476.     visEffects.currentPreset = mediacenter.effectPreset;
  477.  
  478.     autoSizeView('visWidth','visHeight');
  479.  
  480.     checkVisualsPlayerState()
  481. }
  482.  
  483. function saveVisPrefs(){
  484.     mediacenter.effectType = visEffects.currentEffectType;
  485.     mediacenter.effectPreset = visEffects.currentPreset;
  486.     saveViewSize('visWidth','visHeight');
  487. }
  488.  
  489. function checkVisualsPlayerState(){
  490.  
  491.     if (player){
  492.         switch (player.playState){
  493.             case 3:     //playing
  494.                 //visMask.visible = true;
  495.                 break;
  496.  
  497.             }
  498.         }
  499.  
  500.     if (!player.controls.isAvailable("Stop")) {
  501.         //visMask.visible = false;
  502.     }
  503. }
  504.  
  505. function displayVisText(){
  506.     visEffectsText.visible = true;
  507.     visEffectsText.value = visEffects.currentEffectTitle + ": " + visEffects.currentPresetTitle;
  508.     visView.timerInterval = 6000
  509. }
  510.  
  511. function hideVisText(){
  512.     visEffectsText.visible = false;
  513.     visView.timerInterval = 0
  514. }
  515.  
  516.  
  517. // video settings
  518.  
  519. function loadVidPrefs(){
  520.     //theme.savePreference( 'vidViewer', "true" );
  521.     var _drawerStatus = theme.loadPreference('drawerStatus');
  522.  
  523.     if (_drawerStatus != '--') {
  524.         drawerStatus = (_drawerStatus.toLowerCase() == 'true') ? false : true;
  525.     } else {
  526.         drawerStatus = true;
  527.     }
  528.  
  529.     checkSnapStatus();
  530.     checkVideoPlayerState();
  531.     updateZoomToolTip();
  532.     toggleVidDrawer();
  533.     updateVideoMetadata('status');
  534.     
  535.     if (("--"==theme.loadPreference("remoteViewer"))||("true"==theme.loadPreference("remoteViewer"))){
  536.         theme.openView( 'remoteView' );
  537.     }
  538.  
  539.     if ("true"==theme.loadPreference("visViewer")){
  540.         theme.closeView( 'visView' );
  541.     }
  542. }
  543.  
  544. function saveVidPrefs(){
  545.     theme.savePreference('drawerStatus',drawerStatus);
  546. }
  547.  
  548. function loadVidSize(){
  549.     var vidSizer = theme.loadPreference( "videoWidth" );
  550.  
  551.     if( "--" != vidSizer )
  552.     {
  553.         view.width = vidSizer;
  554.     }
  555.     vidSizer = theme.loadpreference( "videoHeight" );
  556.  
  557.     if( "--" != vidSizer )
  558.     {
  559.         view.height = vidSizer;
  560.     }
  561. }
  562.  
  563. function saveVidSize(){
  564.     theme.savepreference( "videoWidth", view.width );
  565.     theme.savepreference( "videoHeight", view.height );
  566.     theme.savePreference("vidSnapper" , "false");
  567.     vidZoom.upToolTip = vidSetTip.toolTip;
  568.     mediacenter.videoZoom = 50;
  569. }
  570.  
  571. function videoZoom(){
  572.     if("false"==theme.loadPreference("vidSnapper")){
  573.         mediacenter.videoZoom = 50;
  574.     }
  575.     if(mediacenter.videoZoom < 76){
  576.         mediacenter.videoZoom = 100;
  577.     }else if(mediacenter.videoZoom <101){
  578.         mediacenter.videoZoom = 150;
  579.     }else if(mediacenter.videoZoom < 156){
  580.         mediacenter.videoZoom = 200;
  581.     }else{
  582.         mediacenter.videoZoom = 75;
  583.     }
  584.     SnapToVideo();
  585.     updateZoomToolTip();
  586. }
  587.  
  588. function updateZoomToolTip(){
  589.  
  590.     vidZoom.upToolTip = vidZoomIn.toolTip + mediacenter.videoZoom + vidZoomMid.toolTip;
  591.  
  592.     if(mediacenter.videoZoom < 76){
  593.         nextZoom = 100;
  594.     }else if(mediacenter.videoZoom <101){
  595.         nextZoom = 150;
  596.     }else if(mediacenter.videoZoom < 156){
  597.         nextZoom = 200;
  598.     }else{
  599.         nextZoom = 75;
  600.     }
  601.  
  602.     vidZoom.upToolTip += nextZoom + vidZoomOut.toolTip;
  603.     
  604.     if("false"==theme.loadPreference("vidSnapper")){
  605.         vidZoom.upToolTip = vidSetTip.toolTip;
  606.     }
  607. }
  608.  
  609. function SnapToVideo(){
  610.  
  611.     theme.savePreference("vidSnapper" , "true");
  612.  
  613.     var zoom = mediacenter.videoZoom;
  614.     var viewWidth = (player.currentMedia.imageSourceWidth * (zoom/100.00));
  615.     var viewHeight = (player.currentMedia.imageSourceHeight * (zoom/100.00));
  616.  
  617.     view.width = viewWidth + 52;
  618.     view.height = viewHeight + 264;
  619. }
  620.  
  621. function checkSnapStatus(){
  622.     if(player.openState!=13) return;
  623.     if("false"==theme.loadPreference("vidSnapper")){
  624.         loadVidSize();
  625.     }else{
  626.         SnapToVideo();
  627.     }
  628. }
  629.  
  630. function returnToMain(){
  631.     theme.currentViewID = 'mainView';
  632.     // hide remote
  633. }
  634.  
  635. function checkVideoOpenState(){
  636.     if(player){
  637.         switch(player.openState){
  638.             case 13:
  639.                 if(player.currentMedia.ImageSourceWidth>0){
  640.                     break;
  641.                 }else{
  642.                     //theme.currentViewID = 'mainView';
  643.                 }
  644.         }
  645.     }
  646. }
  647.  
  648. function checkVideoPlayerState(){
  649.     if (player){
  650.         switch (player.playState){
  651.  
  652.             case 3:     //playing
  653.                 if(player.currentMedia.ImageSourceWidth>0){
  654.                     videoFrame.visible = true;
  655.                     if(!player.fullScreen){
  656.                         checkSnapStatus();
  657.                     }
  658.                 }else{
  659.                     videoFrame.visible = false;
  660.                 }
  661.                 break;
  662.             }
  663.             if((player.openState==13)&&player.currentMedia.ImageSourceWidth>0){
  664.                 switchButton.enabled = false;
  665.                 vidResize.enabled = true;
  666.                 vidZoom.enabled = true;
  667.                 switchButton.upToolTip = returnPlayerDis.toolTip;
  668.             }else{
  669.                 switchButton.enabled = true;
  670.                 vidResize.enabled = false;
  671.                 vidZoom.enabled = false;
  672.                 switchButton.upToolTip = returnPlayer.toolTip;
  673.             }
  674.         }
  675.  
  676.     if (!player.controls.isAvailable("Stop")) {
  677.         videoFrame.visible = false;
  678.         vidZoom.enabled = false;
  679.         switchButton.enabled = true;
  680.         vidResize.enabled = false;
  681.         switchButton.upToolTip = returnPlayer.toolTip;
  682.         view.width = view.minWidth;
  683.         view.height = view.minHeight;
  684.     }
  685.  
  686. }
  687.  
  688. var drawerStatus = false;
  689.  
  690. function toggleVidDrawer(){
  691.     if(!drawerStatus){
  692.         vidSettingsDrawer.moveTo(0,view.height-195,600);
  693.         vidDraweButtonSub.moveTo(0,view.height-35,600);
  694.         vidSliderSub.visible = true;
  695.         vidDrawerButton.down = true
  696.         drawerStatus = !drawerStatus;
  697.     }else{
  698.         vidSettingsDrawer.moveTo(0,view.height-352,600);
  699.         vidDraweButtonSub.moveTo(0,view.height-192,600);
  700.         vidDrawerButton.down = false;
  701.         drawerStatus = !drawerStatus;
  702.     }
  703. }
  704.  
  705. function checkDrawerStatus(){
  706.     drawerStatus = drawerStatus;
  707.     vidSliderSub.visible = drawerStatus;
  708. }
  709.  
  710. function updateVideoMetadata(type){
  711.     if("status"==type){
  712.         if(player.openState!=13) return;
  713.  
  714.         var metaAuthor = player.currentMedia.getItemInfo("author");
  715.  
  716.         if (metaAuthor != "") {
  717.             metaAuthor += " - ";
  718.         }
  719.  
  720.         vidMetadata.value = player.status;
  721.  
  722.         if (vidMetadata.value != "") {
  723.             vidMetadata.value += " - ";
  724.         }
  725.  
  726.         vidMetadata.value += metaAuthor;
  727.     }else if("playlist"==type){
  728.         if(player.currentPlaylist.count==0) return;
  729.  
  730.         var metaAuthor = player.currentMedia.getItemInfo("author");
  731.  
  732.         if (metaAuthor != "") {
  733.             metaAuthor += " - ";
  734.         }
  735.  
  736.         if(player.openState!=13){
  737.             vidMetadata.value = metaAuthor;
  738.         }
  739.     }else{
  740.         vidMetadata.value = player.status;
  741.         vidMetadata.scrolling = (vidMetadata.textWidth>vidMetadata.width);
  742.         return;
  743.     }
  744.  
  745.     vidMetadata.value += player.currentmedia.name;
  746.     vidMetadata.scrolling = (vidMetadata.textWidth>vidMetadata.width);
  747.  
  748. }
  749.  
  750. // vid remote
  751.  
  752. function loadVidRemotePrefs(){
  753.     theme.savePreference( 'remoteViewer', "true" );
  754. //    view.width = view.minWidth;
  755. //    view.height = view.minHeight;
  756. }
  757.