home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 May / Chip_2003-05_cd1.bin / zkuste / wmakeup / download / Dreamcatcher.wmz / dc.js < prev    next >
Encoding:
Text (UTF-16)  |  2003-03-03  |  31.6 KB  |  773 lines

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