home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2003 November / CD1_JOY_153.iso / demos / NHL2004Demo.exe / fe / nhl / js / ai_options_interface.js next >
Text File  |  2003-08-20  |  22KB  |  636 lines

  1. //Copyright (c) 2002 Electronic Arts Inc. All rights reserved.
  2. var oAudioInterface = oGameFace.AudioInterface;
  3. var oLeagueServerInterface = oGameFace.LeagueServerInterface;
  4. var oGameProvider         = window.external.GameInterface.LeagueServerInterface.LeagueDispatch.ProviderInterface;
  5. var oGameManager    = oGameFace.LeagueServerInterface.LeagueDispatch.ManagerInterface;
  6.  
  7. var aComboBox    = null;
  8. var nBasic         = 0;
  9. var nSkating     = 1;
  10. var nChecking     = 2;
  11. var nPassShoot     = 3;
  12. var nPhysics    = 4;
  13. var nDefense    = 5;
  14. var aGameModes    = new Array(nhlMsg("GMOD_EXHIBITION", true),
  15.                             nhlMsg("GMOD_EXHIBITION", true),
  16.                             nhlMsg("GMOD_EXHIBITION", true),
  17.                             nhlMsg("CMN_SEASON", true),
  18.                             nhlMsg("CMN_PLAYOFF", true),
  19.                             nhlMsg("CMN_INTERNATIONAL", true),
  20.                             nhlMsg("ELITE MATCHUP", true),
  21.                             nhlMsg("CMN_DYNASTY", true),
  22.                             nhlMsg("ELITSERIEN", true),
  23.                             nhlMsg("SM_LIIGA", true),
  24.                             nhlMsg("LEAGUE_DEL", true));
  25.  
  26. // These are league enumerations used by the backend
  27. var leagueTypeExhibition = 0;
  28. var leagueTypeExhibitionOnline = 1;
  29. var leagueTypeExhibitionMatchup = 2;
  30. var leagueTypeFranchise = 3;
  31. var leagueTypePlayoff = 4;
  32. var leagueTypeTournament = 5;
  33. var leagueTypeEliteMatchup = 6;
  34. var leagueTypeDynasty = 7;
  35. var leagueTypeSwedish = 8;
  36. var leagueTypeFinnish = 9;
  37. var leagueTypeGerman = 10;
  38.  
  39. // Flag for exhibition mode.
  40. var bExhibition;
  41.  
  42. //main init function
  43. function initPage()
  44. {
  45.     var leagueType = oLeagueServerInterface.LeagueType;
  46.  
  47.     // Don't try to enter setup for dynasty mode because there isn't always a game to play
  48.     if (!oLeagueFace.ProviderInterface.IsInSetup() && (leagueType != leagueTypeDynasty))
  49.     {
  50.         oLeagueFace.ProviderInterface.EnterSetup();
  51.     }
  52.  
  53.     initGameMode();
  54.     aComboBox = new ComboBox("drpOptions",    20, 330, 170, 19, 100, "divOptions");
  55.  
  56.     initOptions();
  57.     changeOptions();
  58.  
  59.     //init game interface
  60.     oCallbackTable = new CallbackTableObject();
  61.     initGameInterface( oCallbackTable );
  62.  
  63.     // redefine oGamedata and other variables
  64.  
  65.     if (leagueType < leagueTypeExhibitionMatchup)
  66.     {
  67.         bExhibition            = 1;
  68.         oGameData            = oLeagueFace.ProviderInterface.GameDataInterface;
  69.         bCanChangeRules        = oGameData.canChangeRules();
  70.         bIsLeague             = false;
  71.     }
  72.     else if (leagueType == leagueTypeExhibitionMatchup)
  73.     {
  74.         bExhibition            = 1;
  75.         oGameData            = oLeagueFace.ProviderInterface.GameDataInterface;
  76.         bCanChangeRules        = false;
  77.         bIsLeague             = false;
  78.     }
  79.     else
  80.     {
  81.         bExhibition            = 0;
  82.         oGameData            = oLeagueFace.ManagerInterface.SettingsInterface;
  83.         bCanChangeRules        = oLeagueFace.ManagerInterface.IsCommissioner();
  84.         bIsLeague             = true;
  85.     }
  86.  
  87.     oCallbackTable.AIOptionsChanged();
  88.     initCanChangeRules();
  89. }
  90.  
  91. function initGameMode()
  92. {
  93.     //alert(oGameFace.LeagueServerInterface.LeagueType);
  94.     gameMode.innerText = aGameModes[oGameFace.LeagueServerInterface.LeagueType] + " - " + nhlMsg("CMN_AI_OPTIONS", true);
  95. }
  96.  
  97. function initOptions()
  98. {
  99.     drpOptions.ClearAll();
  100.     drpOptions.AddString(nhlMsg('GPLAY_BASIC'));
  101.     drpOptions.AddString(nhlMsg('GPLAY_SKATING'));
  102.     drpOptions.AddString(nhlMsg('GPLAY_CHECKING'));
  103.     drpOptions.AddString(nhlMsg('GPLAY_PASS_SHOOT'));
  104.     drpOptions.AddString(nhlMsg('GPLAY_PHISICS'));
  105.     drpOptions.AddString(nhlMsg('GPLAY_DEFENSE'));
  106. }
  107.  
  108. function changeOptions()
  109. {
  110.     tabBasic_container.style.visibility    = "hidden";
  111.     tabSkating_container.style.visibility    = "hidden";
  112.     tabChecking_container.style.visibility    = "hidden";
  113.     tabPassShoot_container.style.visibility    = "hidden";
  114.     tabPhysics_container.style.visibility    = "hidden";
  115.     tabDefense_container.style.visibility    = "hidden";
  116.  
  117.     if (drpOptions.Selected == nBasic)
  118.         tabBasic_container.style.visibility    = "visible";
  119.     else if (drpOptions.Selected == nSkating)
  120.         tabSkating_container.style.visibility    = "visible";
  121.     else if (drpOptions.Selected == nChecking)
  122.         tabChecking_container.style.visibility    = "visible";
  123.     else if (drpOptions.Selected == nPassShoot)
  124.         tabPassShoot_container.style.visibility    = "visible";
  125.     else if (drpOptions.Selected == nPhysics)
  126.         tabPhysics_container.style.visibility    = "visible";
  127.     else if (drpOptions.Selected == nDefense)
  128.         tabDefense_container.style.visibility    = "visible";
  129. }
  130.  
  131. function initCanChangeRules()
  132. {
  133.     //variable from global_game_interface.js
  134.     if (!bCanChangeRules)
  135.     {
  136.         gameSpeedValue.innerText                 = oGameData.GameSpeed + "/" + sldGameSpeed.max_value;
  137.         playerAccelerationValue.innerText        = oGameData.Acceleration + "/" + sldPlayerAcceleration.max_value;
  138.         burstPercentValue.innerText             = oGameData.BurstPercent + "/" + sldBurstPercent.max_value;
  139.         fatigueValue.innerText                     = oGameData.Fatigue + "/" + sldFatigue.max_value;
  140.         fatigueRecoveryValue.innerText             = oGameData.FatigueRecovery + "/" + sldFatigueRecovery.max_value;
  141.         aggressionValue.innerText                 = oGameData.Aggression + "/" + sldAggression.max_value;
  142.         injuriesValue.innerText                 = oGameData.InjuriesLevel + "/" + sldInjuries.max_value;
  143.         hitPowerValue.innerText                 = oGameData.HitPower + "/" + sldHitPower.max_value;
  144.         hittingDifficultyValue.innerText        = oGameData.HitDifficulty + "/" + sldHittingDifficulty.max_value;
  145.         hitStickEffectivenessValue.innerText    = oGameData.HitstickEffect + "/" + sldHitStickEffectiveness.max_value;
  146.         stickCheckEffectivenessValue.innerText    = oGameData.PokeEffect + "/" + sldStickCheckEffectiveness.max_value;
  147.         fightingDifficultyValue.innerText        = oGameData.FightDifficulty + "/" + sldFightingDifficulty.max_value;
  148.         shotBlockingValue.innerText             = oGameData.ShotBlocking + "/" + sldShotBlocking.max_value;
  149.         passInterceptionsValue.innerText        = oGameData.PassInterceptions + "/" + sldPassInterceptions.max_value;
  150.         passAssistValue.innerText                 = oGameData.PassAssist + "/" + sldPassAssist.max_value;
  151.         passSpeedValue.innerText                 = oGameData.PassSpeed + "/" + sldPassSpeed.max_value;
  152.         shotAccuracyValue.innerText             = oGameData.ShotAccuracy + "/" + sldShotAccuracy.max_value;
  153.         AIPassFrequencyValue.innerText            = oGameData.PassFrequency + "/" + sldAIPassFrequency.max_value;
  154.         shotPowerValue.innerText                = oGameData.ShotPower + "/" + sldShotPower.max_value;
  155.         saucerPassSpeedValue.innerText            = oGameData.SaucerPassSpeed + "/" + sldSaucerPassSpeed.max_value;
  156.         puckElasticityValue.innerText             = oGameData.PuckElasticity + "/" + sldPuckElasticity.max_value;
  157.         puckFrictionValue.innerText             = oGameData.PuckFriction + "/" + sldPuckFriction.max_value;
  158.         glassBreakingValue.innerText            = oGameData.GlassBreak + "/" + sldGlassBreaking.max_value;
  159.         puckGravityValue.innerText                = oGameData.PuckGravity + "/" + sldPuckGravity.max_value;
  160.         puckControlValue.innerText                 = oGameData.PuckControl + "/" + sldPuckControl.max_value;
  161.         //poppingHelmetsValue.innerText            = oGameData.
  162.         hookEffectivenessValue.innerText        = oGameData.HookEffect + "/" + sldHookEffectiveness.max_value;
  163.         
  164.         DumpSpeedValue.innerText                = oGameData.DumpSpeed + "/" + sldDumpSpeed.max_value;
  165.         DumpHeightValue.innerText                = oGameData.DumpHeight + "/" + sldDumpHeight.max_value;
  166.         SoftDumpSpeedValue.innerText            = oGameData.SoftDumpSpeed + "/" + sldSoftDumpSpeed.max_value;
  167.         SoftDumpHeightValue.innerText            = oGameData.SoftDumpHeight + "/" + sldSoftDumpHeight.max_value;
  168.         AIDumpPuckValue.innerText                = oGameData.DumpFrequency + "/" + sldDumpFrequency.max_value;
  169.  
  170.         sldGameSpeed.style.visibility             = "hidden";
  171.         sldPlayerAcceleration.style.visibility     = "hidden";
  172.         sldBurstPercent.style.visibility        = "hidden";
  173.         sldFatigue.style.visibility             = "hidden";
  174.         sldFatigueRecovery.style.visibility        = "hidden";
  175.         sldAggression.style.visibility             = "hidden";
  176.         sldInjuries.style.visibility             = "hidden";
  177.         sldHitPower.style.visibility             = "hidden";
  178.         sldHittingDifficulty.style.visibility             = "hidden";
  179.         sldHitStickEffectiveness.style.visibility         = "hidden";
  180.         sldStickCheckEffectiveness.style.visibility     = "hidden";
  181.         sldFightingDifficulty.style.visibility             = "hidden";
  182.         sldPassInterceptions.style.visibility    = "hidden";
  183.         sldPassAssist.style.visibility             = "hidden";
  184.         sldPassSpeed.style.visibility             = "hidden";
  185.         sldShotAccuracy.style.visibility         = "hidden";
  186.         sldAIPassFrequency.style.visibility        = "hidden";
  187.         sldShotPower.style.visibility             = "hidden";
  188.         sldSaucerPassSpeed.style.visibility     = "hidden";
  189.         sldPuckElasticity.style.visibility        = "hidden";
  190.         sldPuckFriction.style.visibility         = "hidden";
  191.         sldGlassBreaking.style.visibility        = "hidden";
  192.         sldPuckGravity.style.visibility         = "hidden";
  193.         sldPuckControl.style.visibility            = "hidden";
  194.         //sldPoppingHelmets.style.visibility         = "hidden";
  195.         sldShotBlocking.style.visibility         = "hidden";
  196.         sldHookEffectiveness.style.visibility    = "hidden";
  197.         
  198.         sldDumpSpeed.style.visibility    = "hidden";
  199.         sldDumpHeight.style.visibility    = "hidden";
  200.         sldSoftDumpSpeed.style.visibility    = "hidden";
  201.         sldSoftDumpHeight.style.visibility    = "hidden";
  202.         sldDumpFrequency.style.visibility    = "hidden";
  203.  
  204.         mrkGameSpeed.style.visibility             = "hidden";
  205.         mrkPlayerAcceleration.style.visibility     = "hidden";
  206.         mrkBurstPercent.style.visibility        = "hidden";
  207.         mrkFatigue.style.visibility             = "hidden";
  208.         mrkFatigueRecovery.style.visibility        = "hidden";
  209.         mrkAggression.style.visibility             = "hidden";
  210.         mrkInjuries.style.visibility             = "hidden";
  211.         mrkHitPower.style.visibility             = "hidden";
  212.         mrkHittingDifficulty.style.visibility             = "hidden";
  213.         mrkHitStickEffectiveness.style.visibility         = "hidden";
  214.         mrkStickCheckEffectiveness.style.visibility     = "hidden";
  215.         mrkFightingDifficulty.style.visibility             = "hidden";
  216.         mrkPassInterceptions.style.visibility    = "hidden";
  217.         mrkPassAssist.style.visibility             = "hidden";
  218.         mrkPassSpeed.style.visibility             = "hidden";
  219.         mrkShotAccuracy.style.visibility         = "hidden";
  220.         mrkAIPassFrequency.style.visibility        = "hidden";
  221.         mrkShotPower.style.visibility             = "hidden";
  222.         mrkSaucerPassSpeed.style.visibility     = "hidden";
  223.         mrkPuckElasticity.style.visibility        = "hidden";
  224.         mrkPuckFriction.style.visibility         = "hidden";
  225.         mrkGlassBreaking.style.visibility        = "hidden";
  226.         mrkPuckGravity.style.visibility         = "hidden";
  227.         mrkPuckControl.style.visibility            = "hidden";
  228.         //mrkPoppingHelmets.style.visibility         = "hidden";
  229.         mrkShotBlocking.style.visibility         = "hidden";
  230.         mrkHookEffectiveness.style.visibility    = "hidden";
  231.         
  232.         mrkDumpSpeed.style.visibility    = "hidden";
  233.         mrkDumpHeight.style.visibility    = "hidden";
  234.         mrkSoftDumpSpeed.style.visibility    = "hidden";
  235.         mrkSoftDumpHeight.style.visibility    = "hidden";
  236.         mrkAIDumpPuck.style.visibility    = "hidden";        
  237.         
  238.         btnDefault.style.visibility    = "hidden";        
  239.     }
  240.     else
  241.     {
  242.         //SetDefaultMarkers();
  243.     }
  244. }
  245.  
  246. function canExitScreen()
  247. {
  248.     if( bExhibition == 1 )
  249.     {
  250.         //oGameFace.LeagueServerInterface.LeagueDispatch.ManagerInterface.SaveGameSettings( oGameData );
  251.     }
  252.     else
  253.     {
  254.         oGameData.SaveSettings();
  255.         oGameManager.LoadGameSettings(oGameProvider.GameDataInterface);
  256.     }
  257.  
  258.     removeCallbackTable();
  259.     return true;
  260. }
  261.  
  262. function SetDefaultMarkers()
  263. {
  264.     //set default markers
  265.     if (oGameData.Level == 0) //beginner
  266.     {
  267.         mrkGameSpeed.style.left         = 311;
  268.         mrkBurstPercent.style.left        = 408;
  269.         mrkFatigue.style.left             = 311;
  270.         mrkFatigueRecovery.style.left    = 384;
  271.         mrkAggression.style.left         = 311;
  272.         mrkInjuries.style.left             = 311;
  273.         mrkHitPower.style.left             = 360;
  274.         mrkShotBlocking.style.left         = 311;
  275.         mrkPassInterceptions.style.left    = 335;
  276.         mrkPassAssist.style.left         = 432;
  277.         mrkPassSpeed.style.left         = 335;
  278.         mrkShotAccuracy.style.left         = 432;
  279.         mrkPuckElasticity.style.left    = 360;
  280.         mrkPuckFriction.style.left         = 360;
  281.         mrkPuckControl.style.left        = 455;
  282.     }
  283.     if (oGameData.Level == 1) //easy
  284.     {
  285.         mrkGameSpeed.style.left         = 335;
  286.         mrkBurstPercent.style.left        = 408;
  287.         mrkFatigue.style.left             = 335;
  288.         mrkFatigueRecovery.style.left    = 360;
  289.         mrkAggression.style.left         = 311;
  290.         mrkInjuries.style.left             = 360;
  291.         mrkHitPower.style.left             = 360;
  292.         mrkShotBlocking.style.left         = 335;
  293.         mrkPassInterceptions.style.left    = 360;
  294.         mrkPassAssist.style.left         = 432;
  295.         mrkPassSpeed.style.left         = 335;
  296.         mrkShotAccuracy.style.left         = 384;
  297.         mrkPuckElasticity.style.left    = 360;
  298.         mrkPuckFriction.style.left         = 360;
  299.         mrkPuckControl.style.left        = 384;
  300.     }
  301.     else if (oGameData.Level == 2) //medium
  302.     {
  303.         mrkGameSpeed.style.left         = 335;
  304.         mrkBurstPercent.style.left        = 384;
  305.         mrkFatigue.style.left             = 408;
  306.         mrkFatigueRecovery.style.left    = 335;
  307.         mrkAggression.style.left         = 384;
  308.         mrkInjuries.style.left             = 384;
  309.         mrkHitPower.style.left             = 360;
  310.         mrkShotBlocking.style.left         = 384;
  311.         mrkPassInterceptions.style.left    = 384;
  312.         mrkPassAssist.style.left         = 408;
  313.         mrkPassSpeed.style.left         = 408;
  314.         mrkShotAccuracy.style.left         = 360;
  315.         mrkPuckElasticity.style.left    = 360;
  316.         mrkPuckFriction.style.left         = 360;
  317.         mrkPuckControl.style.left        = 335;
  318.     }
  319.     else if (oGameData.Level == 3) //difficult
  320.     {
  321.         mrkGameSpeed.style.left         = 360;
  322.         mrkBurstPercent.style.left        = 360;
  323.         mrkFatigue.style.left             = 408;
  324.         mrkFatigueRecovery.style.left    = 311;
  325.         mrkAggression.style.left         = 408;
  326.         mrkInjuries.style.left             = 408;
  327.         mrkHitPower.style.left             = 360;
  328.         mrkShotBlocking.style.left         = 432;
  329.         mrkPassInterceptions.style.left    = 408;
  330.         mrkPassAssist.style.left         = 408;
  331.         mrkPassSpeed.style.left         = 408;
  332.         mrkShotAccuracy.style.left         = 335;
  333.         mrkPuckElasticity.style.left    = 360;
  334.         mrkPuckFriction.style.left         = 360;
  335.         mrkPuckControl.style.left        = 311;
  336.     }
  337. }
  338.  
  339. function clearPage()
  340. {
  341. }
  342.  
  343. //Event handlers
  344.  
  345.  
  346. function ChangeGameSpeed()
  347. {
  348.     oGameData.GameSpeed = sldGameSpeed.value;
  349. }
  350.  
  351. function ChangePlayerAcceleration()
  352. {
  353.     oGameData.Acceleration = sldPlayerAcceleration.value;
  354. }
  355.  
  356. function ChangeBurstPercent()
  357. {
  358.     oGameData.BurstPercent = sldBurstPercent.value;
  359. }
  360.  
  361. function ChangeFatigue()
  362. {
  363.     oGameData.Fatigue = sldFatigue.value;
  364. }
  365.  
  366. function ChangeFatigueRecovery()
  367. {
  368.     oGameData.FatigueRecovery = sldFatigueRecovery.value;
  369. }
  370.  
  371. function ChangeAggression()
  372. {
  373.     oGameData.Aggression = sldAggression.value;
  374. }
  375.  
  376. function ChangeInjuries()
  377. {
  378.     oGameData.InjuriesLevel = sldInjuries.value;
  379. }
  380.  
  381. function ChangeHitPower()
  382. {
  383.     oGameData.HitPower = sldHitPower.value;
  384. }
  385.  
  386. function ChangeHittingDifficulty()
  387. {
  388.     oGameData.HitDifficulty = sldHittingDifficulty.value;
  389. }
  390.  
  391. function ChangeHitStickEffectiveness()
  392. {
  393.     oGameData.HitstickEffect = sldHitStickEffectiveness.value;
  394. }
  395.  
  396. function ChangeStickCheckEffectiveness()
  397. {
  398.     oGameData.PokeEffect = sldStickCheckEffectiveness.value;
  399. }
  400.  
  401. function ChangeFightingDifficulty()
  402. {
  403.     oGameData.FightDifficulty = sldFightingDifficulty.value;
  404. }
  405.  
  406. function ChangeShotBlocking()
  407. {
  408.     oGameData.ShotBlocking = sldShotBlocking.value;
  409. }
  410.  
  411. function ChangeHookEffectiveness()
  412. {
  413.     oGameData.HookEffect = sldHookEffectiveness.value;
  414. }
  415.  
  416. function ChangePassInterceptions()
  417. {
  418.     oGameData.PassInterceptions = sldPassInterceptions.value;
  419. }
  420.  
  421. function ChangePassAssist()
  422. {
  423.     oGameData.PassAssist = sldPassAssist.value;
  424. }
  425.  
  426. function ChangePassSpeed()
  427. {
  428.     oGameData.PassSpeed = sldPassSpeed.value;
  429. }
  430.  
  431. function ChangeShotAccuracy()
  432. {
  433.     oGameData.ShotAccuracy = sldShotAccuracy.value;
  434. }
  435.  
  436. function ChangeAIPassFrequency()
  437. {
  438.     oGameData.PassFrequency = sldAIPassFrequency.value;
  439. }
  440.  
  441. function ChangeShotPower()
  442. {
  443.     oGameData.ShotPower = sldShotPower.value;
  444. }
  445.  
  446. function ChangeSaucerPassSpeed()
  447. {
  448.     oGameData.SaucerPassSpeed = sldSaucerPassSpeed.value;
  449. }
  450.  
  451. function ChangePuckElasticity()
  452. {
  453.     oGameData.PuckElasticity = sldPuckElasticity.value;
  454. }
  455.  
  456. function ChangePuckFriction()
  457. {
  458.     oGameData.PuckFriction = sldPuckFriction.value;
  459. }
  460.  
  461. function ChangeGlassBreaking()
  462. {
  463.     oGameData.GlassBreak = sldGlassBreaking.value;
  464. }
  465.  
  466. function ChangePuckGravity()
  467. {
  468.     oGameData.PuckGravity = sldPuckGravity.value;
  469. }
  470.  
  471. function ChangePuckControl()
  472. {
  473.     oGameData.PuckControl = sldPuckControl.value;
  474. }
  475.  
  476. function ChangePoppingHelmets()
  477. {
  478.     //@ todo
  479. }
  480.  
  481. function ChangeHookEffectiveness()
  482. {
  483.     oGameData.HookEffect = sldHookEffectiveness.value;
  484. }
  485.  
  486. function ChangeDumpSpeed()
  487. {
  488.     oGameData.DumpSpeed = sldDumpSpeed.value;
  489. }
  490.  
  491. function ChangeDumpHeight()
  492. {
  493.     oGameData.DumpHeight = sldDumpHeight.value;
  494. }
  495.  
  496. function ChangeSoftDumpSpeed()
  497. {
  498.     oGameData.SoftDumpSpeed = sldSoftDumpSpeed.value;
  499. }
  500.  
  501. function ChangeSoftDumpHeight()
  502. {
  503.     oGameData.SoftDumpHeight = sldSoftDumpHeight.value;
  504. }
  505.  
  506. function ChangeDumpFrequency()
  507. {
  508.     oGameData.DumpFrequency = sldDumpFrequency.value;
  509. }
  510.  
  511.  
  512. function CallbackTableObject()
  513. {
  514.     this.GameSpeedChanged = function () {sldGameSpeed.SetValue( oGameData.GameSpeed ); };
  515.     this.PlayerAccelerationChanged = function () {sldPlayerAcceleration.SetValue( oGameData.Acceleration ); };
  516.     this.BurstPercentChanged = function () {sldBurstPercent.SetValue( oGameData.BurstPercent ); };
  517.     this.FatigueChanged = function () {sldFatigue.SetValue( oGameData.Fatigue ); };
  518.     this.FatigueRecoveryChanged = function () {sldFatigueRecovery.SetValue( oGameData.FatigueRecovery ); };
  519.     this.AggressionChanged = function () {sldAggression.SetValue( oGameData.Aggression ); };
  520.     this.InjuriesLevelChanged = function () {sldInjuries.SetValue( oGameData.InjuriesLevel ); };
  521.     this.HitPowerChanged = function () {sldHitPower.SetValue( oGameData.HitPower ); };
  522.     this.ShotBlockingChanged = function () {sldShotBlocking.SetValue( oGameData.ShotBlocking ); };
  523.     this.PassInterceptionsChanged = function () {sldPassInterceptions.SetValue( oGameData.PassInterceptions ); };
  524.     this.PassAssistChanged = function () {sldPassAssist.SetValue( oGameData.PassAssist ); };
  525.     this.PassSpeedChanged = function () {sldPassSpeed.SetValue( oGameData.PassSpeed ); };
  526.     this.ShotAccuracyChanged = function () {sldShotAccuracy.SetValue( oGameData.ShotAccuracy ); };
  527.     this.PuckElasticityChanged = function () {sldPuckElasticity.SetValue( oGameData.PuckElasticity ); };
  528.     this.PuckFrictionChanged = function () {sldPuckFriction.SetValue( oGameData.PuckFriction ); };
  529.     this.PuckControlChanged = function () {sldPuckControl.SetValue( oGameData.PuckControl ); };
  530.     this.HittingDifficultyChanged = function () {sldHittingDifficulty.SetValue( oGameData.HitDifficulty ); };
  531.     this.HitStickEffectivenessChanged = function () {sldHitStickEffectiveness.SetValue( oGameData.HitstickEffect ); };
  532.     this.StickCheckEffectivenessChanged = function () {sldStickCheckEffectiveness.SetValue( oGameData.PokeEffect ); };
  533.     this.FightingDifficultyChanged = function () {sldFightingDifficulty.SetValue( oGameData.FightDifficulty ); };
  534.     this.AIPassFrequencyChanged = function () {sldAIPassFrequency.SetValue( oGameData.PassFrequency ); };
  535.     this.ShotPowerChanged = function () {sldShotPower.SetValue( oGameData.ShotPower ); };
  536.     this.SaucerPassSpeedChanged = function () {sldSaucerPassSpeed.SetValue( oGameData.SaucerPassSpeed ); };
  537.     this.GlassBreakingChanged = function () {sldGlassBreaking.SetValue( oGameData.GlassBreak ); };
  538.     this.PuckGravityChanged = function () {sldPuckGravity.SetValue( oGameData.PuckGravity ); };
  539.     // this.PoppingHelmetsChanged = function () {sldPoppingHelmetsChanged( oGameData. ); };
  540.     this.HookEffectivenessChanged = function () {sldHookEffectiveness.SetValue( oGameData.HookEffect ); };
  541.     
  542.     this.DumpSpeedChanged = function () {sldDumpSpeed.SetValue( oGameData.DumpSpeed ); };    
  543.     this.DumpHeightChanged = function () {sldDumpHeight.SetValue( oGameData.DumpHeight ); };    
  544.     this.SoftDumpSpeedChanged = function () {sldSoftDumpSpeed.SetValue( oGameData.SoftDumpSpeed ); };    
  545.     this.SoftDumpHeightChanged = function () {sldSoftDumpHeight.SetValue( oGameData.SoftDumpHeight ); };    
  546.     this.DumpFrequencyChanged = function () {sldDumpFrequency.SetValue( oGameData.DumpFrequency ); };    
  547.     
  548.     this.AIOptionsChanged = function()
  549.     {
  550.         this.GameSpeedChanged();
  551.         this.PlayerAccelerationChanged();
  552.         this.BurstPercentChanged();
  553.         this.FatigueChanged();
  554.         this.FatigueRecoveryChanged();
  555.         this.AggressionChanged();
  556.         this.InjuriesLevelChanged();
  557.         this.HitPowerChanged();
  558.         this.ShotBlockingChanged();
  559.         this.PassInterceptionsChanged();
  560.         this.PassAssistChanged();
  561.         this.PassSpeedChanged();
  562.         this.ShotAccuracyChanged();
  563.         this.PuckElasticityChanged();
  564.         this.PuckFrictionChanged();
  565.         this.PuckControlChanged();
  566.         this.HittingDifficultyChanged();
  567.         this.HitStickEffectivenessChanged();
  568.         this.StickCheckEffectivenessChanged();
  569.         this.FightingDifficultyChanged();
  570.         this.AIPassFrequencyChanged();
  571.         this.ShotPowerChanged();
  572.         this.SaucerPassSpeedChanged();
  573.         this.GlassBreakingChanged();
  574.         this.PuckGravityChanged();
  575.         //this.PoppingHelmetsChanged();
  576.         this.HookEffectivenessChanged();
  577.         
  578.         this.DumpSpeedChanged();        
  579.         this.DumpHeightChanged();        
  580.         this.SoftDumpSpeedChanged();        
  581.         this.SoftDumpHeightChanged();        
  582.         this.DumpFrequencyChanged();                
  583.     };
  584.  
  585.     //this.LevelChanged = SetDefaultMarkers;
  586.  
  587. }
  588.  
  589. function defaultAIOptions()
  590. {
  591.     oAudioInterface.PlaySFX(1099);
  592.     oGameData.RestoreDefaultAIOptions();
  593. }
  594. /*////////////// TABS /////////////////////*/
  595.  
  596. function showFirstTab()
  597. {
  598.     doTabMouseDown( tabSkating, false );
  599. }
  600. function doTabMouseDown( oEl, bPlaySound  )
  601. {
  602.     if( bPlaySound )
  603.     {
  604.         oAudioInterface.PlayTabSelectSFX();
  605.     }
  606.     var selectedId      = document.body.getAttribute( "selected" );
  607.     var oPreviousEl     = document.getElementById(selectedId);
  608.     if(aImgs[ oEl.id + "_nml" ].toString().match(/undefined/))
  609.         initButton( oEl );
  610.        if(oPreviousEl != null && oEl.id != selectedId)
  611.     {
  612.         oPreviousEl.children(0).src             = aImgs[ oEl.id + "_nml" ];
  613.         oPreviousEl.children(1).style.color     = oEl.nmlTextColor;
  614.         var oPreviousContainerEl                 = document.all[ oPreviousEl.id + "_container"];
  615.         oPreviousContainerEl.style.visibility     = 'hidden';
  616.     }
  617.  
  618.     if(oEl.id != selectedId )
  619.     {
  620.         oEl.children(0).src                     = aImgs[ oEl.id + "_dwn" ];
  621.         oEl.children(1).style.color             = oEl.dwnTextColor;
  622.         document.body.setAttribute( "selected" , oEl.id );
  623.         var oElContainer = document.all[ oEl.id + "_container" ];
  624.         oElContainer.style.visibility = 'visible';
  625.     }
  626.     event.cancelBubble  = true;
  627.     event.returnValue   = false;
  628. }
  629.  
  630. function doTabMouseUp()
  631. {
  632.     event.cancelBubble  = true;
  633.     event.returnValue   = false;
  634. }
  635.  
  636. /*////////////////END TABS ////////////////*/