home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 142 / MOBICLIC142.ISO / pc / DATA / GAM142 / GAM142_00 / GAM142_00.swf / scripts / frame_1 / DoAction.as
Text File  |  2012-02-13  |  32KB  |  1,291 lines

  1. function initKeyPause()
  2. {
  3.    gPauseOn = 0;
  4.    gPauseSpaceOn = 0;
  5.    gPauseSpaceEnCours = 0;
  6. }
  7. function initGen()
  8. {
  9.    this._lockroot = true;
  10.    gClipGen = this;
  11.    Stage.showMenu = false;
  12.    gLangue = "FR";
  13.    gMusicOn = 1;
  14.    gSousTitre = 0;
  15.    gST = 0;
  16.    gVolume = 100;
  17.    gWidth = moduleInfo.returnNodeByPath("BackOffice").firstChild.attributes.width;
  18.    gHeight = moduleInfo.returnNodeByPath("BackOffice").firstChild.attributes.height;
  19.    if(gWidth == undefined)
  20.    {
  21.       gWidth = 800;
  22.    }
  23.    else
  24.    {
  25.       gWidth = Number(gWidth);
  26.    }
  27.    if(gHeight == undefined)
  28.    {
  29.       gHeight = 600;
  30.    }
  31.    else
  32.    {
  33.       gHeight = Number(gHeight);
  34.    }
  35.    initKeyPause();
  36. }
  37. function testeDebutCommentSpecial()
  38. {
  39.    switch(gCommentOn.id.split("_")[gCommentOn.id.split("_").length - 1])
  40.    {
  41.       case "bz":
  42.       case "BZ":
  43.          trace("-------  BZ on-----------");
  44.          DesactiveOEIL();
  45.          if(BT_OEIL.gEtat !== 3)
  46.          {
  47.             trace("E3");
  48.             BT_OEIL.gotoAndPlay("E3");
  49.          }
  50.          else
  51.          {
  52.             trace("PARLE");
  53.             BT_OEIL.OEIL_P.gotoAndPlay("parle");
  54.          }
  55.          break;
  56.       case "ze":
  57.       case "ZE":
  58.          trace("-------  ZE on-----------");
  59.          DesactiveOEIL();
  60.          if(BT_OEIL.gEtat !== 3)
  61.          {
  62.             BT_OEIL.gotoAndPlay("E3");
  63.          }
  64.          else
  65.          {
  66.             BT_OEIL.OEIL_P.gotoAndPlay("parle");
  67.          }
  68.          afficherRolls();
  69.          break;
  70.       case "bi":
  71.       case "BI":
  72.          trace("-------  BI on-----------");
  73.          BT_AIDE.BT_AIDE.gotoAndPlay("E2");
  74.    }
  75. }
  76. function testeFinCommentSpecial()
  77. {
  78.    switch(gCommentOn.id.split("_")[gCommentOn.id.split("_").length - 1])
  79.    {
  80.       case "bz":
  81.       case "BZ":
  82.          trace("-------  BZ off-----------");
  83.          ActiveOEIL();
  84.          BT_OEIL.OEIL_P.gotoAndPlay("rentre");
  85.          BT_OEIL.gClicOn = undefined;
  86.          break;
  87.       case "ze":
  88.       case "ZE":
  89.          trace("-------  ZE off-----------");
  90.          ActiveOEIL();
  91.          BT_OEIL.OEIL_P.gotoAndPlay("rentre");
  92.          BT_OEIL.gClicOn = undefined;
  93.          masquerRolls();
  94.          break;
  95.       case "bi":
  96.       case "BI":
  97.          trace("-------  BI off-----------");
  98.          BT_AIDE.BT_AIDE.gotoAndPlay("E1");
  99.    }
  100. }
  101. function stopComment()
  102. {
  103.    if(gCommentOn !== undefined)
  104.    {
  105.       testeFinCommentSpecial();
  106.       delete gCommentOn.onSoundComplete;
  107.       gCommentOn.stop();
  108.       gCommentOn = undefined;
  109.       if(gMusicOn == 1 && gMusic !== undefined && gBlockMusic == undefined)
  110.       {
  111.          soundObjects[gMusic].setVolume(gVolume);
  112.       }
  113.       if(gPauseOn == undefined || gPauseOn == 0)
  114.       {
  115.          removeMovieClip("mcClicZap");
  116.       }
  117.       gBlockST = undefined;
  118.       gereTextes.masqueST();
  119.       if(gClipTarget !== undefined)
  120.       {
  121.          gClipTarget.gotoAndStop(gClipTargetLabel);
  122.          gClipTarget = undefined;
  123.          gClipTargetLabel = undefined;
  124.       }
  125.    }
  126. }
  127. function pauseComment()
  128. {
  129.    trace("pauseComment " + gCommentOn);
  130.    if(gCommentOn !== undefined)
  131.    {
  132.       gCommentOn.stop();
  133.       mcClicZap._visible = false;
  134.    }
  135. }
  136. function continueComment()
  137. {
  138.    trace("continueComment " + gCommentOn);
  139.    if(gCommentOn !== undefined)
  140.    {
  141.       gCommentOn.start(gCommentOn.position / 1000);
  142.       mcClicZap._visible = true;
  143.    }
  144. }
  145. function joueSon(p)
  146. {
  147.    var _loc4_ = p.nomSon;
  148.    gSoundString = _loc4_;
  149.    if(p.mc !== undefined)
  150.    {
  151.       gClipRef = p.mc;
  152.    }
  153.    else
  154.    {
  155.       gClipRef = _root;
  156.    }
  157.    if(p.zapBlock !== undefined)
  158.    {
  159.       gClicZap = p.zapBlock;
  160.    }
  161.    else
  162.    {
  163.       gClicZap = "ZAP_BLOCK";
  164.    }
  165.    if(p.actionFin !== undefined)
  166.    {
  167.       gActionFinSon = p.actionFin;
  168.    }
  169.    else
  170.    {
  171.       gActionFinSon = "PLAY";
  172.    }
  173.    stopComment();
  174.    if(p.mcCible !== undefined)
  175.    {
  176.       if(typeof p.mcCible == "movieclip")
  177.       {
  178.          gClipTarget = p.mcCible;
  179.       }
  180.       else
  181.       {
  182.          gClipTarget = gClipRef[p.mcCible];
  183.       }
  184.       if(p.mcLabelOut !== undefined)
  185.       {
  186.          gClipTargetLabel = p.mcLabelOut;
  187.       }
  188.       else
  189.       {
  190.          gClipTargetLabel = gClipTarget._currentframe;
  191.       }
  192.       if(p.mcLabelIn !== undefined)
  193.       {
  194.          gClipTarget.gotoAndPlay(p.mcLabelIn);
  195.       }
  196.       else
  197.       {
  198.          gClipTarget.gotoAndPlay("parle");
  199.       }
  200.    }
  201.    gCommentName = "S_" + gLangue + "_" + gModuleName + "_";
  202.    trace("joueSon " + gCommentName + _loc4_);
  203.    mySound = soundObjects[gCommentName + _loc4_];
  204.    if(mySound !== undefined)
  205.    {
  206.       gCommentOn = mySound;
  207.       gCommentOn.p = p;
  208.       gCommentOn.id = gCommentName + _loc4_;
  209.       testeDebutCommentSpecial();
  210.       if(gMusicOn == 1 && gMusic !== undefined && gBlockMusic == undefined)
  211.       {
  212.          soundObjects[gMusic].setVolume(gVolume * 40 / 100);
  213.       }
  214.       mySound.setVolume(gVolume);
  215.       if(gCommentOnPausePos !== undefined)
  216.       {
  217.          mySound.start(gCommentOnPausePos / 1000);
  218.          gCommentOnPause = undefined;
  219.          gCommentOnPausePos = undefined;
  220.       }
  221.       else
  222.       {
  223.          mySound.start();
  224.       }
  225.    }
  226.    else
  227.    {
  228.       trace("______" + getSoundByID(gCommentName + _loc4_) + gCommentName);
  229.       var _loc5_ = getSoundByID(gCommentName + _loc4_);
  230.       if(_loc5_ !== undefined)
  231.       {
  232.          mySound = new Sound();
  233.          mySound.onLoad = function(success)
  234.          {
  235.             if(success)
  236.             {
  237.                if(gCommentOnPausePos !== undefined)
  238.                {
  239.                   mySound.start(gCommentOnPausePos / 1000);
  240.                   gCommentOnPause = undefined;
  241.                   gCommentOnPausePos = undefined;
  242.                }
  243.                else
  244.                {
  245.                   mySound.start();
  246.                }
  247.             }
  248.          };
  249.          mySound.loadSound(this.gModulePath + _loc5_.attributes.src,true);
  250.          gCommentOn = mySound;
  251.          gCommentOn.p = p;
  252.          gCommentOn.id = gCommentName + _loc4_;
  253.          testeDebutCommentSpecial();
  254.          if(gMusicOn == 1 && gMusic !== undefined && gBlockMusic == undefined)
  255.          {
  256.             soundObjects[gMusic].setVolume(gVolume * 40 / 100);
  257.          }
  258.       }
  259.    }
  260.    if(mySound == undefined)
  261.    {
  262.       return undefined;
  263.    }
  264.    mySound.onSoundComplete = commentFini;
  265.    if(gClicZap !== "NOZAP_NOBLOCK")
  266.    {
  267.       mcClicZap = creerRectangle({nom:"mcClicZap",pere:_root,level:15000,width:gWidth,height:gHeight,x:0,y:0,alpha:0});
  268.       switch(gClicZap.split("_")[0])
  269.       {
  270.          case "ZAP":
  271.             mcClicZap.useHandCursor = false;
  272.             mcClicZap.onPress = function()
  273.             {
  274.                if(gCommentOn.position !== gCommentOn.duration)
  275.                {
  276.                   trace("clic zap son");
  277.                   stopSon();
  278.                }
  279.             };
  280.             break;
  281.          case "NOZAP":
  282.             mcClicZap.useHandCursor = false;
  283.             mcClicZap.onPress = function()
  284.             {
  285.                trace("no clic allowed");
  286.             };
  287.       }
  288.       mcClicZap._visible = true;
  289.    }
  290.    if(gST == 1 && gBlockST == undefined)
  291.    {
  292.       gereTextes.afficheST(gCommentName + _loc4_);
  293.    }
  294. }
  295. function creerClicZap(p)
  296. {
  297.    if(_global.mcClicZap2 != undefined)
  298.    {
  299.       removeMovieClip(_root.mcClicZap2);
  300.    }
  301.    var _loc0_ = null;
  302.    var _loc4_ = _global.mcClicZap2 = creerRectangle({nom:"mcClicZap2",pere:_root,level:15001,width:gWidth,height:gHeight,x:0,y:0,alpha:0});
  303.    _loc4_.p = p;
  304.    _loc4_.useHandCursor = false;
  305.    _loc4_.onPress = function()
  306.    {
  307.       trace("clic zap " + this.p);
  308.       this.p.retour.call(this.p.ecouteur);
  309.       removeMovieClip(this);
  310.       _global.mcClicZap2 = undefined;
  311.    };
  312.    _loc4_._visible = true;
  313. }
  314. function creerRectangle(p)
  315. {
  316.    var _loc15_ = p.x != undefined ? p.x : 0;
  317.    var _loc13_ = p.y != undefined ? p.y : 0;
  318.    if(p.w != undefined)
  319.    {
  320.       var _loc16_ = p.w;
  321.    }
  322.    else if(p.width != undefined)
  323.    {
  324.       _loc16_ = p.width;
  325.    }
  326.    if(p.h != undefined)
  327.    {
  328.       var _loc14_ = p.h;
  329.    }
  330.    else if(p.height != undefined)
  331.    {
  332.       _loc14_ = p.height;
  333.    }
  334.    var _loc11_ = p.pere != undefined ? p.pere : _root;
  335.    var _loc9_ = p.level != undefined ? p.level : 10;
  336.    var _loc12_ = p.couleur != undefined ? p.couleur : 0;
  337.    var _loc10_ = p.nom != undefined ? p.nom : "ClipSansNom";
  338.    var _loc4_ = p.courbure != undefined ? p.courbure : 0;
  339.    var _loc17_ = p.alpha != undefined ? p.alpha : 100;
  340.    var _loc6_ = 0;
  341.    var _loc7_ = 0;
  342.    var _loc8_ = _loc16_;
  343.    var _loc5_ = _loc14_;
  344.    var _loc3_ = _loc11_.createEmptyMovieClip(_loc10_,_loc9_);
  345.    _loc3_.beginFill(_loc12_,_loc17_);
  346.    _loc3_.moveTo(_loc6_,_loc5_ - _loc4_);
  347.    _loc3_.lineTo(_loc6_,_loc7_ + _loc4_);
  348.    _loc3_.curveTo(_loc6_,_loc7_,_loc6_ + _loc4_,_loc7_);
  349.    _loc3_.lineTo(_loc8_ - _loc4_,_loc7_);
  350.    _loc3_.curveTo(_loc8_,_loc7_,_loc8_,_loc7_ + _loc4_);
  351.    _loc3_.lineTo(_loc8_,_loc5_ - _loc4_);
  352.    _loc3_.curveTo(_loc8_,_loc5_,_loc8_ - _loc4_,_loc5_);
  353.    _loc3_.lineTo(_loc6_ + _loc4_,_loc5_);
  354.    _loc3_.curveTo(_loc6_,_loc5_,_loc6_,_loc5_ - _loc4_);
  355.    _loc3_.endFill();
  356.    _loc3_._x = _loc15_;
  357.    _loc3_._y = _loc13_;
  358.    return _loc3_;
  359. }
  360. function stopSon()
  361. {
  362.    gCommentOn.stop();
  363.    commentFini();
  364. }
  365. function commentFini()
  366. {
  367.    testeFinCommentSpecial();
  368.    gCommentOn = undefined;
  369.    if(gClicZap !== "NOZAP_NOBLOCK")
  370.    {
  371.       removeMovieClip("mcClicZap");
  372.    }
  373.    gBlockST = undefined;
  374.    gereTextes.masqueST();
  375.    if(gMusicOn == 1 && gMusic !== undefined && gBlockMusic == undefined)
  376.    {
  377.       soundObjects[gMusic].setVolume(gVolume);
  378.    }
  379.    if(gClipTarget !== undefined)
  380.    {
  381.       gClipTarget.gotoAndStop(gClipTargetLabel);
  382.       gClipTarget = undefined;
  383.       gClipTargetLabel = undefined;
  384.    }
  385.    switch(gActionFinSon)
  386.    {
  387.       case "RIEN":
  388.          break;
  389.       case "PLAY":
  390.          if(_root.gNextLabel == undefined)
  391.          {
  392.             if(gLineaireOn !== undefined)
  393.             {
  394.                if((_loc0_ = gLineaireOn) !== "_")
  395.                {
  396.                   lSonSuivant = gLineaireOn + gimme2digits(Number(gSoundString.split("_")[gSoundString.split("_").length - 1]) + 1);
  397.                   lLabel = lSonSuivant;
  398.                }
  399.                else
  400.                {
  401.                   lSonSuivant = gimme2digits(Number(gSoundString.split("_")[gSoundString.split("_").length - 1]) + 1);
  402.                   lLabel = gLineaireOn + lSonSuivant;
  403.                }
  404.                gClipRef.gotoAndStop(lLabel);
  405.                joueSon({mc:gClipRef,nomSon:lSonSuivant,zapBlock:gClicZap,actionFin:gActionFinSon});
  406.             }
  407.             else
  408.             {
  409.                gClipRef.play();
  410.             }
  411.          }
  412.          else
  413.          {
  414.             gClipRef.gotoAndPlay(_root.gNextLabel);
  415.             _root.gNextLabel = undefined;
  416.             gLineaireOn = undefined;
  417.          }
  418.          break;
  419.       default:
  420.          gClipRef[gActionFinSon]();
  421.    }
  422. }
  423. function joueBruitage(p)
  424. {
  425.    var _loc1_ = soundObjects[gBruitageName + p.nomSon];
  426.    if(gListeBruitage == undefined)
  427.    {
  428.       gListeBruitage = [];
  429.       gListeA_fin_Bruitage = [];
  430.       gListeLoop_Bruitage = [];
  431.    }
  432.    _loc1_.setVolume(gVolume);
  433.    _loc1_.id = p.nomSon;
  434.    gListeBruitage.push(_loc1_.id);
  435.    if(p.actionFin !== undefined)
  436.    {
  437.       gActionFinBruitage = p.actionFin;
  438.       gListeA_fin_Bruitage.push(gActionFinBruitage);
  439.    }
  440.    else
  441.    {
  442.       gActionFinBruitage = undefined;
  443.       gListeA_fin_Bruitage.push("");
  444.    }
  445.    _loc1_.p = p;
  446.    _loc1_.onSoundComplete = mx.utils.Delegate.create(_loc1_,finBruitage);
  447.    if(p.loopSon == undefined)
  448.    {
  449.       _loc1_.start(p.offset);
  450.       gListeLoop_Bruitage.push("");
  451.    }
  452.    else
  453.    {
  454.       _loc1_.start(p.offset,p.loopSon);
  455.       gListeLoop_Bruitage.push(p.loopSon);
  456.    }
  457.    if(_loc1_ == undefined)
  458.    {
  459.       trace("joueBruitage : " + p.nomSon + " : " + _loc1_);
  460.    }
  461. }
  462. function stopBruitage(p)
  463. {
  464.    var _loc1_ = soundObjects[gBruitageName + p.nomSon];
  465.    finBruitage(p.nomSon);
  466.    _loc1_.stop();
  467. }
  468. function finBruitage(lSon)
  469. {
  470.    if(lSon == undefined)
  471.    {
  472.       lSon = this.id;
  473.    }
  474.    if(gListeBruitage !== undefined)
  475.    {
  476.       var _loc2_ = getPos(gListeBruitage,lSon);
  477.       if(_loc2_ !== -1)
  478.       {
  479.          if(gListeA_fin_Bruitage[_loc2_] !== "")
  480.          {
  481.             if(typeof gListeA_fin_Bruitage[_loc2_] == "string")
  482.             {
  483.                gClipGen[gListeA_fin_Bruitage[_loc2_]]();
  484.             }
  485.             else
  486.             {
  487.                gListeA_fin_Bruitage[_loc2_].call(this.p.MC);
  488.             }
  489.          }
  490.          gListeA_fin_Bruitage.splice(_loc2_,1);
  491.          gListeLoop_Bruitage.splice(_loc2_,1);
  492.          gListeBruitage.splice(_loc2_,1);
  493.          if(gListeBruitage.length == 0)
  494.          {
  495.             gListeBruitage = undefined;
  496.             gListeA_fin_Bruitage = undefined;
  497.             gListeLoop_Bruitage = undefined;
  498.          }
  499.       }
  500.    }
  501. }
  502. function stopBruit(p)
  503. {
  504.    if(gListeBruitage !== undefined)
  505.    {
  506.       if(getPos(gListeBruitage,p.nomSon) !== -1)
  507.       {
  508.          var _loc1_ = soundObjects[gBruitageName + p.nomSon];
  509.          delete _loc1_.onSoundComplete;
  510.          lSon = p.nomSon;
  511.          gListeA_fin_Bruitage.splice(getPos(gListeBruitage,lSon),1);
  512.          gListeLoop_Bruitage.splice(getPos(gListeBruitage,lSon),1);
  513.          gListeBruitage.splice(getPos(gListeBruitage,lSon),1);
  514.          if(gListeBruitage.length == 0)
  515.          {
  516.             gListeBruitage = undefined;
  517.             gListeA_fin_Bruitage = undefined;
  518.             gListeLoop_Bruitage = undefined;
  519.          }
  520.          _loc1_.stop();
  521.       }
  522.    }
  523. }
  524. function stopAllBruitages(lFinBruitage)
  525. {
  526.    if(gListeBruitage !== undefined)
  527.    {
  528.       var _loc3_ = gListeBruitage.length;
  529.       var _loc1_ = _loc3_ - 1;
  530.       while(_loc1_ >= 0)
  531.       {
  532.          if(lFinBruitage == 1)
  533.          {
  534.             stopBruitage({nomSon:gListeBruitage[_loc1_]});
  535.          }
  536.          else
  537.          {
  538.             stopBruit({nomSon:gListeBruitage[_loc1_]});
  539.          }
  540.          _loc1_ = _loc1_ - 1;
  541.       }
  542.    }
  543. }
  544. function getPos(myList, myValue)
  545. {
  546.    lPresent = -1;
  547.    maPosition = 0;
  548.    while(maPosition < myList.length)
  549.    {
  550.       if(myList[maPosition] == myValue)
  551.       {
  552.          lPresent = maPosition;
  553.          break;
  554.       }
  555.       maPosition++;
  556.    }
  557.    return lPresent;
  558. }
  559. function trouvePosMax(myList)
  560. {
  561.    lMax = myList[0];
  562.    lPosMax = 0;
  563.    i = 1;
  564.    while(i < myList.length)
  565.    {
  566.       if(myList[i] > lMax)
  567.       {
  568.          lMax = myList[i];
  569.          lPosMax = i;
  570.       }
  571.       i++;
  572.    }
  573.    return lPosMax;
  574. }
  575. function duplicate(myList)
  576. {
  577.    newList = [];
  578.    i = 0;
  579.    while(i < myList.length)
  580.    {
  581.       newList.push(myList[i]);
  582.       i++;
  583.    }
  584.    return newList;
  585. }
  586. function randomiseList(myList)
  587. {
  588.    var _loc3_ = duplicate(myList);
  589.    var _loc4_ = [];
  590.    var _loc5_ = _loc3_.length;
  591.    var _loc2_ = 0;
  592.    while(_loc2_ < _loc5_)
  593.    {
  594.       var _loc1_ = randomValue(0,_loc3_.length - 1);
  595.       _loc4_.push(_loc3_[_loc1_]);
  596.       _loc3_.splice(_loc1_,1);
  597.       _loc2_ = _loc2_ + 1;
  598.    }
  599.    return _loc4_;
  600. }
  601. function returnNodeByPathRandomise(nodeSent)
  602. {
  603.    var _loc4_ = new XML();
  604.    var _loc5_ = nodeSent.childNodes.length;
  605.    var _loc1_ = 0;
  606.    while(_loc1_ < _loc5_)
  607.    {
  608.       var _loc2_ = randomValue(0,nodeSent.childNodes.length - 1);
  609.       _loc4_.appendChild(nodeSent.childNodes[_loc2_]);
  610.       _loc1_ = _loc1_ + 1;
  611.    }
  612.    return _loc4_;
  613. }
  614. function zapIntro(myLabel)
  615. {
  616.    mcClicZapIntro = this.createEmptyMovieClip("mcClicZapIntro",16031);
  617.    mcClicZapIntro.attachMovie("ClipInvisible","ClipInvisible",2);
  618.    mcClicZapIntro._width = gClipGen._width;
  619.    mcClicZapIntro._height = gClipGen._height;
  620.    mcClicZapIntro._x = 0;
  621.    mcClicZapIntro._y = 0;
  622.    mcClicZapIntro.useHandCursor = false;
  623.    mcClicZapIntro.onPress = function()
  624.    {
  625.       trace("clic zappIntro " + this);
  626.       stopComment();
  627.       gotoAndPlay(myLabel);
  628.       removeZapIntro();
  629.    };
  630. }
  631. function removeZapIntro()
  632. {
  633.    trace("mcClicZapIntrO " + mcClicZapIntro._name + " " + this);
  634.    if(mcClicZapIntro._x != undefined)
  635.    {
  636.       trace("suppression");
  637.       removeMovieClip(mcClicZapIntro);
  638.    }
  639. }
  640. function onMcOut(myMc)
  641. {
  642.    gereCursor(1);
  643.    if(myMc.pLabelOut == undefined)
  644.    {
  645.       myMc.gotoAndPlay("E1");
  646.    }
  647.    else
  648.    {
  649.       myMc.gotoAndPlay(myMc.pLabelOut);
  650.    }
  651.    if(myMc.pSon.split("")[0] == "B")
  652.    {
  653.       stopBruitage({nomSon:myMc.pSon});
  654.    }
  655.    else
  656.    {
  657.       stopComment();
  658.    }
  659.    if(myMc.pIB !== undefined)
  660.    {
  661.       gereTextes.masqueIB();
  662.    }
  663. }
  664. function onMcOver(p)
  665. {
  666.    var myMc = p.mc;
  667.    myMc.pIB = p.codeIB;
  668.    if(p.nomSon == undefined)
  669.    {
  670.       if(p.nomSonC == undefined)
  671.       {
  672.          myMc.pSon = "B_" + myMc._name.split("_")[1];
  673.       }
  674.       else
  675.       {
  676.          myMc.pSon = p.nomSonC;
  677.       }
  678.    }
  679.    else
  680.    {
  681.       myMc.pSon = p.nomSon;
  682.    }
  683.    if(p.actionFin == undefined)
  684.    {
  685.       myMc.actionFin = "RIEN";
  686.    }
  687.    else
  688.    {
  689.       myMc.actionFin = p.actionFin;
  690.    }
  691.    myMc.pLabelOut = p.mcLabelOut;
  692.    myMc.onRollOver = function()
  693.    {
  694.       gereCursor(2);
  695.       if(p.mcLabelIn == undefined)
  696.       {
  697.          this.gotoAndPlay("E2");
  698.       }
  699.       else
  700.       {
  701.          this.gotoAndPlay(p.mcLabelIn);
  702.       }
  703.       if(this.pSon.split("")[0] == "B")
  704.       {
  705.          joueBruitage({nomSon:this.pSon});
  706.       }
  707.       else
  708.       {
  709.          joueSon({nomSon:this.pSon,zapBlock:"NOZAP_NOBLOCK",actionFin:this.actionFin});
  710.       }
  711.       if(this.pIB !== undefined)
  712.       {
  713.          gereTextes.afficheIB({mc:this,codeIB:this.pIB});
  714.       }
  715.    };
  716.    myMc.onRollOut = myMc.onDragOut = function()
  717.    {
  718.       onMcOut(myMc);
  719.    };
  720. }
  721. function desactiveClip(pClip)
  722. {
  723.    delete pClip.onRollOver;
  724.    delete pClip.onRollOut;
  725.    delete pClip.onDragOut;
  726.    delete pClip.onPress;
  727.    delete pClip.onRelease;
  728.    delete pClip.onReleaseOutside;
  729. }
  730. function afficheClipPos(myMc, myX, myY)
  731. {
  732.    myMc._x = myX;
  733.    myMc._y = myY;
  734.    myMc._visible = true;
  735. }
  736. function gimme2digits(X)
  737. {
  738.    if(Number(X) < 10)
  739.    {
  740.       lX = "0" + Number(X);
  741.    }
  742.    else
  743.    {
  744.       lX = String(X);
  745.    }
  746.    return lX;
  747. }
  748. function randomValue(min, max)
  749. {
  750.    var _loc1_ = Math.floor(Math.random() * (max - min + 1)) + min;
  751.    return _loc1_;
  752. }
  753. function chercheDepthPlus(myMc, myDepth)
  754. {
  755.    var _loc1_ = myDepth;
  756.    while(_loc1_ < 17000)
  757.    {
  758.       if(myMc.getInstanceAtDepth(_loc1_) == undefined)
  759.       {
  760.          break;
  761.       }
  762.       _loc1_ = _loc1_ + 1;
  763.    }
  764.    return _loc1_;
  765. }
  766. function chercheDepthMoins(myMc, myDepth)
  767. {
  768.    var _loc1_ = myDepth;
  769.    while(_loc1_ > -16383)
  770.    {
  771.       if(myMc.getInstanceAtDepth(_loc1_) == undefined)
  772.       {
  773.          break;
  774.       }
  775.       _loc1_ = _loc1_ - 1;
  776.    }
  777.    return _loc1_;
  778. }
  779. function changeST(myST)
  780. {
  781.    trace("changeST   : " + myST);
  782.    if(myST == "1")
  783.    {
  784.       gST = 1;
  785.       if(gCommentOn !== undefined)
  786.       {
  787.          gereTextes.afficheST(gCommentOn.id);
  788.       }
  789.    }
  790.    else
  791.    {
  792.       sousTitre = 0;
  793.       gST = 0;
  794.       gereTextes.masqueST(this);
  795.    }
  796. }
  797. function changeMusicOn(myChangeMusicOn)
  798. {
  799.    trace("changeMusicOn   : " + myChangeMusicOn);
  800.    switch(String(myChangeMusicOn))
  801.    {
  802.       case "1":
  803.          gMusicOn = 1;
  804.          if(gMusic == undefined)
  805.          {
  806.             gMusic = gBruitageName + "MU";
  807.          }
  808.          trace("changeMusicOn2   : " + gMusic + " - " + gVolume);
  809.          if(gBlockMusic == undefined)
  810.          {
  811.             if(gCommentOn !== undefined)
  812.             {
  813.                soundObjects[gMusic].setVolume(gVolume * 0.4);
  814.             }
  815.             else
  816.             {
  817.                soundObjects[gMusic].setVolume(gVolume);
  818.             }
  819.          }
  820.          else
  821.          {
  822.             soundObjects[gMusic].setVolume(0);
  823.          }
  824.          soundObjects[gMusic].start(0,1000);
  825.          break;
  826.       case "0":
  827.          soundObjects[gMusic].stop();
  828.          gMusicOn = 0;
  829.          break;
  830.       default:
  831.          if(gMusic !== undefined)
  832.          {
  833.             soundObjects[gMusic].stop();
  834.          }
  835.          gMusic = gBruitageName + myChangeMusicOn;
  836.          if(gMusicOn == 1)
  837.          {
  838.             if(gBlockMusic == undefined)
  839.             {
  840.                if(gCommentOn !== undefined)
  841.                {
  842.                   soundObjects[gMusic].setVolume(gVolume * 0.4);
  843.                }
  844.                else
  845.                {
  846.                   soundObjects[gMusic].setVolume(gVolume);
  847.                }
  848.             }
  849.             else
  850.             {
  851.                soundObjects[gMusic].setVolume(0);
  852.             }
  853.             soundObjects[gMusic].start(0,1000);
  854.          }
  855.    }
  856. }
  857. function changeVolume(myChangeVolume)
  858. {
  859.    trace("changeVolume   : " + myChangeVolume);
  860.    gVolume = Number(myChangeVolume);
  861.    if(gCommentOn !== undefined)
  862.    {
  863.       gCommentOn.setVolume(gVolume);
  864.       if(gMusicOn == 1)
  865.       {
  866.          soundObjects[gMusic].setVolume(gVolume * 0.4);
  867.       }
  868.    }
  869.    else if(gMusicOn == 1)
  870.    {
  871.       soundObjects[gMusic].setVolume(gVolume);
  872.    }
  873. }
  874. function DesactiveBZ()
  875. {
  876.    BT_BZ.useHandCursor = false;
  877.    BT_BZ.gBZactif = 0;
  878. }
  879. function ActiveBZ()
  880. {
  881.    BT_BZ.useHandCursor = true;
  882.    BT_BZ.gBZactif = 1;
  883. }
  884. function getRessourceByID(attributeValue, typeRessource)
  885. {
  886.    var _loc2_ = this.moduleInfo.filterNode(this.moduleInfo.returnNodeByPath("Resources.ResourcesZip"),"type",typeRessource);
  887.    mySound = undefined;
  888.    mySound = this.recusiveGetSoundByAttribute(_loc2_,"id",attributeValue);
  889.    if(mySound == undefined)
  890.    {
  891.       trace(attributeValue + " n\'existe pas dans XML");
  892.    }
  893.    return mySound;
  894. }
  895. function getSoundByID(attributeValue)
  896. {
  897.    var _loc2_ = this.moduleInfo.filterNode(this.moduleInfo.returnNodeByPath("Resources.ResourcesZip"),"type","mp3");
  898.    mySound = undefined;
  899.    mySound = this.recusiveGetSoundByAttribute(_loc2_,"id",attributeValue);
  900.    if(mySound == undefined)
  901.    {
  902.       trace(attributeValue + " n\'existe pas dans XML");
  903.    }
  904.    return mySound;
  905. }
  906. function recusiveGetSoundByAttribute(node, attribute, attributeValue)
  907. {
  908.    var _loc2_ = 0;
  909.    while(_loc2_ < node.childNodes.length)
  910.    {
  911.       if(node.childNodes[_loc2_].attributes[attribute] == attributeValue)
  912.       {
  913.          mySound = node.childNodes[_loc2_];
  914.          break;
  915.       }
  916.       if(node.childNodes[_loc2_].hasChildNodes())
  917.       {
  918.          this.recusiveGetSoundByAttribute(node.childNodes[_loc2_],attribute,attributeValue);
  919.       }
  920.       _loc2_ = _loc2_ + 1;
  921.    }
  922.    return mySound;
  923. }
  924. function gereCursor(myCursor)
  925. {
  926.    switch(myCursor)
  927.    {
  928.       case 1:
  929.       case "fleche":
  930.          myCursor = "fleche";
  931.          break;
  932.       case 2:
  933.       case "doigt":
  934.          myCursor = "doigt";
  935.          break;
  936.       case 3:
  937.       case "mainO":
  938.          myCursor = "mainO";
  939.          break;
  940.       case 4:
  941.       case "mainF":
  942.          myCursor = "mainF";
  943.          break;
  944.       case 0:
  945.       case "O":
  946.          myCursor = "O";
  947.    }
  948.    _global.CURSEUR.Action(myCursor);
  949. }
  950. function ConvertCoord(mc_src, mc_dest)
  951. {
  952.    var _loc1_ = {x:0,y:0};
  953.    mc_src.localToGlobal(_loc1_);
  954.    mc_dest.globalToLocal(_loc1_);
  955.    return _loc1_;
  956. }
  957. function OnPadRollOver()
  958. {
  959.    if(gDrag !== undefined)
  960.    {
  961.    }
  962. }
  963. function OnPadRollOut()
  964. {
  965.    if(gDrag !== undefined)
  966.    {
  967.    }
  968. }
  969. function ModulePause()
  970. {
  971.    var _loc0_ = null;
  972.    if((_loc0_ = HOTE.LocalConfig.magSom) !== "MOB")
  973.    {
  974.       trace("pause ModulePause");
  975.       if(gListeInterval !== undefined)
  976.       {
  977.          pauseIntervals();
  978.       }
  979.       gPauseOn = true;
  980.       _moteur_.activePause(this);
  981.    }
  982. }
  983. function ModuleResume()
  984. {
  985.    var _loc0_ = null;
  986.    if((_loc0_ = HOTE.LocalConfig.magSom) !== "MOB")
  987.    {
  988.       trace("pause ModuleResume");
  989.       if(gListeInterval !== undefined)
  990.       {
  991.          repriseIntervals();
  992.       }
  993.       gPauseOn = undefined;
  994.       _moteur_.desactivePause(this);
  995.    }
  996. }
  997. function _setInterval(p)
  998. {
  999.    trace("cree  interval " + p.nomInterval);
  1000.    if(gListeInterval == undefined)
  1001.    {
  1002.       gListeInterval = [];
  1003.       gListeIntervalNom = [];
  1004.       gListeIntervalTime = [];
  1005.    }
  1006.    gListeInterval.push(p);
  1007.    gListeIntervalNom.push(p.nomInterval);
  1008.    gListeIntervalTime.push(getTimer());
  1009.    p.mc[p.nomInterval] = setInterval(p.mc,p.fonction,p.duree,p.param1,p.param2,p.param3);
  1010. }
  1011. function _clearInterval(lNom)
  1012. {
  1013.    var _loc1_ = getPos(gListeIntervalNom,lNom);
  1014.    if(_loc1_ !== -1)
  1015.    {
  1016.       var _loc2_ = gListeInterval[_loc1_].mc;
  1017.       clearInterval(_loc2_[lNom]);
  1018.       gListeInterval.splice(_loc1_,1);
  1019.       gListeIntervalNom.splice(_loc1_,1);
  1020.       gListeIntervalTime.splice(_loc1_,1);
  1021.       if(gListeInterval.length == 0)
  1022.       {
  1023.          gListeInterval = undefined;
  1024.          gListeIntervalNom = undefined;
  1025.          gListeIntervalTime = undefined;
  1026.       }
  1027.    }
  1028. }
  1029. function pauseIntervals()
  1030. {
  1031.    trace("pauseIntervals");
  1032.    var _loc3_ = gListeInterval.length;
  1033.    if(_loc3_ > 0)
  1034.    {
  1035.       gListePauseInterval = [];
  1036.       var _loc1_ = 0;
  1037.       while(_loc1_ < _loc3_)
  1038.       {
  1039.          var _loc2_ = gListeInterval[_loc1_].mc;
  1040.          gListePauseInterval.push(getTimer() - gListeIntervalTime[_loc1_]);
  1041.          trace("IntervalNom = " + gListeIntervalNom[_loc1_]);
  1042.          clearInterval(_loc2_[gListeIntervalNom[_loc1_]]);
  1043.          _loc1_ = _loc1_ + 1;
  1044.       }
  1045.    }
  1046.    gDureePause = 0;
  1047.    gTopPause = getTimer();
  1048. }
  1049. function repriseIntervals()
  1050. {
  1051.    trace("repriseIntervals");
  1052.    gDureePause += getTimer() - gTopPause;
  1053.    trace("gDureePause = " + gDureePause);
  1054.    var _loc6_ = gListeInterval.length;
  1055.    if(_loc6_ > 0)
  1056.    {
  1057.       var _loc1_ = 0;
  1058.       while(_loc1_ < _loc6_)
  1059.       {
  1060.          var _loc4_ = gListeInterval[_loc1_];
  1061.          var _loc3_ = _loc4_.duree;
  1062.          var _loc2_ = _loc3_ - gListePauseInterval[_loc1_];
  1063.          trace("myDureeRestant = " + _loc2_);
  1064.          gListeInterval[_loc1_].duree = _loc2_;
  1065.          gListeIntervalTime[_loc1_] = getTimer();
  1066.          var _loc5_ = gListeInterval[_loc1_].mc;
  1067.          _loc5_[gListeIntervalNom[_loc1_]] = setInterval(gListeInterval[_loc1_].mc,gListeInterval[_loc1_].fonction,gListeInterval[_loc1_].duree,gListeInterval[_loc1_].param1,gListeInterval[_loc1_].param2,gListeInterval[_loc1_].param3);
  1068.          _loc1_ = _loc1_ + 1;
  1069.       }
  1070.    }
  1071. }
  1072. function INIT_INTERFACE(intLabel)
  1073. {
  1074.    Interface = Interface["A_" + gModuleName + "_INTERFACE_DDB"];
  1075.    Interface.gotoAndPlay(intLabel);
  1076.    Interface._visible = 1;
  1077.    _global.BT_OEIL = Interface.BT_OEIL;
  1078.    _global.BT_SOM = Interface.BT_SOM;
  1079.    _global.ActiveOEIL = ActiveOEIL;
  1080.    _root.ActiveOEIL = ActiveOEIL;
  1081.    _global.DesactiveOEIL = DesactiveOEIL;
  1082.    _root.DesactiveOEIL = DesactiveOEIL;
  1083.    _root.OEILCLIC = 0;
  1084. }
  1085. function DesactiveOEIL()
  1086. {
  1087.    trace("DesactiveOEIL");
  1088.    BT_OEIL.useHandCursor = false;
  1089.    BT_OEIL.gOEILactif = 0;
  1090. }
  1091. function ActiveOEIL()
  1092. {
  1093.    trace("ActiveOEIL");
  1094.    BT_OEIL.useHandCursor = true;
  1095.    BT_OEIL.gOEILactif = 1;
  1096. }
  1097. function MASCOTTE_SORT(p)
  1098. {
  1099.    trace(_root.swfStocker["A_" + gModuleName + "_" + p.mascotte]);
  1100.    _root.swfStocker["A_" + gModuleName + "_" + p.mascotte].gotoAndPlay("E1");
  1101.    _root.swfStocker["A_" + gModuleName + "_" + p.mascotte]._visible = true;
  1102.    _root.cMascotte = p.cMascotte;
  1103.    _root.bMascotte = p.bMascotte;
  1104.    _root.mNextLabel = p.nextLabel;
  1105. }
  1106. function initRelance(p)
  1107. {
  1108.    intervalRel = setInterval(this,"oeilRelance",p.tempsRel * 1000,p.sonRel);
  1109. }
  1110. function oeilRelance(sonRel)
  1111. {
  1112.    joueSon({nomSon:sonRel});
  1113.    _root.gotoAndStop(_root._currentframe - 1);
  1114. }
  1115. function clearRelance()
  1116. {
  1117.    clearInterval(intervalRel);
  1118. }
  1119. function playConsignes()
  1120. {
  1121.    trace("playConsigne");
  1122.    DesactiveOEIL();
  1123.    if(_root.OEILCLIC == 0)
  1124.    {
  1125.       _root.OEILCLIC = 1;
  1126.       joueSon({nomSon:"00_ZE",actionFin:"ActiveOEIL"});
  1127.    }
  1128.    else
  1129.    {
  1130.       joueSon({nomSon:"01_ZE",actionFin:"ActiveOEIL"});
  1131.    }
  1132. }
  1133. function afficherRolls()
  1134. {
  1135.    if(nbZones !== undefined)
  1136.    {
  1137.       var _loc3_ = 1;
  1138.       while(_loc3_ <= _root.nbZones)
  1139.       {
  1140.          this["ROLL_" + gimme2digits(_loc3_)]._visible = 1;
  1141.          _loc3_ = _loc3_ + 1;
  1142.       }
  1143.    }
  1144. }
  1145. function masquerRolls()
  1146. {
  1147.    if(nbZones !== undefined)
  1148.    {
  1149.       var _loc3_ = 1;
  1150.       while(_loc3_ <= _root.nbZones)
  1151.       {
  1152.          this["ROLL_" + gimme2digits(_loc3_)]._visible = 0;
  1153.          _loc3_ = _loc3_ + 1;
  1154.       }
  1155.    }
  1156. }
  1157. function animChangeEtat(etat)
  1158. {
  1159.    trace("animChangeEtat : " + activeZone + " - " + etat);
  1160.    this["ANIM_" + activeZone].gotoAndStop(etat);
  1161. }
  1162. function initLib(p)
  1163. {
  1164.    trace(" ____ __ initLib _ __ _");
  1165.    var _loc3_ = this;
  1166.    var _loc4_ = _loc3_.createEmptyMovieClip("_" + p.nom + "_",this.getNextHighestDepth());
  1167.    var _loc5_ = gLibsPath + "/" + nom_lib + "/" + nom_lib + ".swf";
  1168.    this.mclR = new MovieClipLoader();
  1169.    this.mclR.loadClip(p.url,_loc4_);
  1170.    this.mclR.onLoadInit = function(myClip)
  1171.    {
  1172.       trace("onLoadInit " + myClip._name);
  1173.       myClip.ChargeMoteur();
  1174.       _root.Init();
  1175.    };
  1176. }
  1177. function initVariablesGAM()
  1178. {
  1179.    gNbLettres = 17;
  1180.    gListeTotalLettres = ["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17"];
  1181.    gListeLettres = [];
  1182.    gNbClicOk = 0;
  1183.    gNbAideDone = 0;
  1184.    gListeLettresAIDE = undefined;
  1185.    glastAide = undefined;
  1186. }
  1187. this._lockroot = true;
  1188. this.prodVersion = "prod_gen_ED";
  1189. if(_global.gModulePath == undefined)
  1190. {
  1191.    this.gModulePath = _global.gModulePath = "";
  1192. }
  1193. else
  1194. {
  1195.    this.gModulePath = _global.gModulePath;
  1196. }
  1197. _global._MOD_ = this;
  1198. this.CIBLE = this;
  1199. if(_global.HOTE != undefined)
  1200. {
  1201.    MovieClip.prototype.gHotePath = _global.gPARAMS.HOTE_DIR + "/DATA/HOTE";
  1202. }
  1203. else
  1204. {
  1205.    MovieClip.prototype.gHotePath = "../../HOTE";
  1206. }
  1207. this.prodPath = gHotePath + "/" + this.prodVersion;
  1208. MovieClip.prototype.gLibsPath = gHotePath + "/libs";
  1209. _global.stopComment = stopComment;
  1210. _global.joueSon = joueSon;
  1211. _root.creerClicZap = creerClicZap;
  1212. _global.joueBruitage = joueBruitage;
  1213. _global.stopBruitage = stopBruitage;
  1214. _global.stopBruit = stopBruit;
  1215. _global.gimme2digits = gimme2digits;
  1216. _global.randomValue = randomValue;
  1217. this.randRange = randomValue;
  1218. _global.chercheDepthPlus = chercheDepthPlus;
  1219. _global.chercheDepthMoins = chercheDepthMoins;
  1220. _global.DesactiveBZ = DesactiveBZ;
  1221. _root.DesactiveBZ = DesactiveBZ;
  1222. _global.ActiveBZ = ActiveBZ;
  1223. _root.ActiveBZ = ActiveBZ;
  1224. _global.gereCursor = gereCursor;
  1225. trace("FUNCTIONS : COMMUN_DEC");
  1226. this.initVariables = function()
  1227. {
  1228.    trace("initVariables()");
  1229.    this.gotoAndStop("INIT");
  1230. };
  1231. _global._o_ = new Object();
  1232. MovieClip.prototype._o_ = _o_;
  1233. MovieClip.prototype._xlib1_ = undefined;
  1234. this.Init = function()
  1235. {
  1236.    trace("<<<<<<<<<<<<< Init() >>>>>>>>>>>");
  1237.    if(_xlib1_ == undefined)
  1238.    {
  1239.       initLib({nom:"xlib1",url:gLibsPath + "/xlib1/xlib1.swf"});
  1240.       return undefined;
  1241.    }
  1242.    if(_ed_ == undefined)
  1243.    {
  1244.       initLib({nom:"ed",url:gLibsPath + "/o/ed.swf"});
  1245.       return undefined;
  1246.    }
  1247.    if(_xb_ == undefined)
  1248.    {
  1249.       initLib({nom:"xb",url:gLibsPath + "/o/xb.swf"});
  1250.       return undefined;
  1251.    }
  1252.    if(_moteur_ == undefined)
  1253.    {
  1254.       initLib({nom:"moteur",url:this.prodPath + "/moteur.swf"});
  1255.       return undefined;
  1256.    }
  1257. };
  1258. this.InitOk = function()
  1259. {
  1260.    trace("<<<<<<<<<<<<< InitOk() >>>>>>>>>>>");
  1261.    if(HOTE == undefined)
  1262.    {
  1263.       this.Start();
  1264.    }
  1265.    else
  1266.    {
  1267.       HOTE.InitFin(this);
  1268.    }
  1269. };
  1270. this.Start = function()
  1271. {
  1272.    trace("<<<<<<<<<<<<< Start() >>>>>>>>>>>");
  1273.    gereCursor("fleche");
  1274.    this.gotoAndStop("START");
  1275. };
  1276. if(HOTE == undefined)
  1277. {
  1278.    this.onEnterFrame = function()
  1279.    {
  1280.       var _loc2_ = this.getBytesLoaded();
  1281.       var _loc3_ = this.getBytesTotal();
  1282.       if(_loc2_ >= _loc3_)
  1283.       {
  1284.          this.Init();
  1285.          delete this.onEnterFrame;
  1286.       }
  1287.    };
  1288. }
  1289. stop();
  1290. stop();
  1291.