AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/360/fort-sainte-agathe-2018/test/indexdata/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/360/fort-sainte-agathe-2018/test/indexdata/index_skin.xml
<?xml version="1.0" encoding="UTF-8"?>
<krpano version="1.19">

    
  <!-- Spot Style - Déplacement par défaut -->
  <style name="IconDéplacementpardéfaut"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint0.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"
         rotate="270"
         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementpardéfaut"
         onover="onoverIconDéplacementpardéfaut"
         onout="onoutIconDéplacementpardéfaut"


         />

  <action name="onhoverIconDéplacementpardéfaut">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconDéplacementpardéfaut">
tween(scale, 1.2);


  </action>

  <action name="onoutIconDéplacementpardéfaut">
    hideTooltip();
    tween(scale, 1);


  </action>



      
  <!-- Picture Spot Style - PI sans description -->

  <style name="RectPicturePIsansdescription"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIsansdescription"
         onout="onoutRectPicturePIsansdescription"
         />
  <action name="onhoverRectPicturePIsansdescription">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIsansdescription">
    hideTooltip();
    
  </action>
<action name="hotspotParallaxRectPicturePIsansdescription">

	if(view.fov LT 150,
		sub(hdistance, view.hlookat, hotspot[%1].ath);
		mod(hdistance,hdistance,360);
		if(hdistance GT 180, sub(hdistance,hdistance,360));
		if(hdistance LT -180, add(hdistance,hdistance,360));
		mul(hdistance, 0.25);
		mul(hdistance, -1);
		set(hotspot[%1].ox, get(hdistance));
	,
		set(hotspot[%1].ox, 0);
	);
</action>



        
  <!-- Video Spot Style - Default Video Spot Style -->
  <style name="RectVideoDefaultVideoSpotStyleLoader" url="%FIRSTXML%/spots/loadanimation.png" crop="0|0|64|64" ypos="0" frame="0" distorted="true" visible="false" />
  <style name="RectVideoDefaultVideoSpotStyle"
         capture="false"
         visible="false"
         distorted="true"
         scale="1.0" 
         url="%FIRSTXML%/graphics/videoplayer.js"
         loop="false"
         autoresume="true"
         pausedonstart="true"
         pausedonstart.android="false"
         pauseothersounds="true"
         canstart="false"
         onvideocomplete="tween(alpha, 0, 0.5, easeOutQuad, if(device.html5,stop();,delayedcall(0.01,play();pause();););set(hotspot[get(videocontrolplay)].visible, true);set(hotspot[get(videocontrolpause)].visible, false);set(stateVideo,'startplaying');dec(videospots_playing);resumeTourSoundsActions(true,true,true,true,true););"
         onhover="onhoverRectVideoDefaultVideoSpotStyle"
         onout="onoutRectVideoDefaultVideoSpotStyle"
         onvideoready="onvideoreadyRectVideoDefaultVideoSpotStyle"
         />
  <style name="RectVideoDefaultVideoSpotStyle" 
    directionalsound="false"
  />
  <style name="RectVideoDefaultVideoSpotStyle" 
    stateVideo="startplaying" devices="no-ios" 
  />
  <style name="RectVideoDefaultVideoSpotStyle" 
    stateVideo="startpaused" devices="ios" 
  />
  <action name="onhoverRectVideoDefaultVideoSpotStyle">
    showTooltip('hotspot');
    if(hotspot[get(videocontrolpause)].visible == false,
      if(hotspot[get(videocontrolplay)].visible == false,
        set(hotspot[get(videocontrolpause)].visible, true);
      );
    );
  </action>
  <action name="onoutRectVideoDefaultVideoSpotStyle">
    hideTooltip();
    ifnot(ispaused,
      if(hotspot[get(videocontrolpause)].visible,
        set(hotspot[get(videocontrolpause)].visible, false);
      );
    );
  </action>
  <action name="onvideoreadyRectVideoDefaultVideoSpotStyle">
    set(isVideoReadyForPlaying, false);
    if (isvideoready,
      if (canstart,
        set(isVideoReadyForPlaying, true);
      );
    );
    if(isVideoReadyForPlaying,
    ifnot(device.ios,
      inc(videospots_playing);
      pauseTourSoundsActions(true,true,true,true,true);
    );

    if(tour_displayspots,
      if(ispaused,
        if(stateVideo == "startplaying",
          set(stateVideo, "playing");
          play();
        );
      );
    );
    if(device.flash,
      if (tour_soundson,
        div(volume, tour_soundsvolume, 100);
      ,
        set(volume, 0);
      );
    ,
      ifnot(device.ios,
        if (tour_soundson,
          js(kpanotour.Sounds.startVideosSounds(get(volume)));
        ,
          js(kpanotour.Sounds.stopVideosSounds());
        );
      );
    );
    onvideoreadyspecific();
    onvideoreadycontrols();
    ,

      delayedcall(0.5,onvideoreadyRectVideoDefaultVideoSpotStyle());
    );
  </action>
  <action name="animatevideospotloaderRectVideoDefaultVideoSpotStyle">
    if(hotspot[%1],
      if(hotspot[%1].activated,
        set(hotspot[%1].visible, true);
      );
      inc(hotspot[%1].frame,1, 11,0);
      mul(hotspot[%1].ypos, hotspot[%1].frame, 64);
      txtadd(hotspot[%1].crop, '0|', get(hotspot[%1].ypos),'|64|64');
      delayedcall(%2, 0.1, animatevideospotloaderRectVideoDefaultVideoSpotStyle(%1, %2) );
    ,
      stopdelayedcall(%2);
    );
  </action>
  <action name="stopvideospotloaderanimationRectVideoDefaultVideoSpotStyle">
    removehotspot(%1);
  </action>



    
  <!-- Spot Style - Son -->
  <style name="IconSon"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint1.png"
         visible="false"
         frame="0"
         lastframe="19"
         framewidth="27"
         frameheight="54"
         stopspotsequence="false"
         crop="0|0|27|54"
         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconSon"
         onover="onoverIconSon"
         onout="onoutIconSon"


         />

  <action name="onhoverIconSon">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconSon">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

  </action>

  <action name="onoutIconSon">
    hideTooltip();
    tween(scale, 1);

resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - Vidéo -->
  <style name="IconVidéo"
         url="%FIRSTXML%/spots/hotspot_video_sequence_user_defaultpoint4.png"
         visible="false"
         frame="0"
         lastframe="12"
         framewidth="85"
         frameheight="85"
         stopspotsequence="false"
         crop="0|0|85|85"
         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconVidéo"
         onover="onoverIconVidéo"
         onout="onoutIconVidéo"


         />

  <action name="onhoverIconVidéo">
    showtooltip('hotspot');
  </action>

  <action name="onoverIconVidéo">
tween(scale, 1.2);


  </action>

  <action name="onoutIconVidéo">
    hideTooltip();
    tween(scale, 1);


  </action>



      
  <!-- Picture Spot Style - PI avec description -->

  <style name="RectPicturePIavecdescription"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIavecdescription"
         onout="onoutRectPicturePIavecdescription"
         />
  <action name="onhoverRectPicturePIavecdescription">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIavecdescription">
    hideTooltip();
    
  </action>
<action name="hotspotParallaxRectPicturePIavecdescription">

	if(view.fov LT 150,
		sub(hdistance, view.hlookat, hotspot[%1].ath);
		mod(hdistance,hdistance,360);
		if(hdistance GT 180, sub(hdistance,hdistance,360));
		if(hdistance LT -180, add(hdistance,hdistance,360));
		mul(hdistance, 0.25);
		mul(hdistance, -1);
		set(hotspot[%1].ox, get(hdistance));
	,
		set(hotspot[%1].ox, 0);
	);
</action>



      
  <!-- Picture Spot Style - PI avec galerie photo -->

  <style name="RectPicturePIavecgaleriephoto"
         distorted="true"
         visible="false"
         scale="1.0" 
         onhover="onhoverRectPicturePIavecgaleriephoto"
         onout="onoutRectPicturePIavecgaleriephoto"
         />
  <action name="onhoverRectPicturePIavecgaleriephoto">
    showTooltip('hotspot');
  </action>
  <action name="onoutRectPicturePIavecgaleriephoto">
    hideTooltip();
    
  </action>
<action name="hotspotParallaxRectPicturePIavecgaleriephoto">

	if(view.fov LT 150,
		sub(hdistance, view.hlookat, hotspot[%1].ath);
		mod(hdistance,hdistance,360);
		if(hdistance GT 180, sub(hdistance,hdistance,360));
		if(hdistance LT -180, add(hdistance,hdistance,360));
		mul(hdistance, 0.25);
		mul(hdistance, -1);
		set(hotspot[%1].ox, get(hdistance));
	,
		set(hotspot[%1].ox, 0);
	);
</action>



    
  <!-- Spot Style - Déplacement flêche vers la gauche -->
  <style name="IconDéplacementflêcheverslagauche"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint5.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"
         rotate="180"
         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementflêcheverslagauche"
         onout="onoutIconDéplacementflêcheverslagauche"


         />

  <action name="onhoverIconDéplacementflêcheverslagauche">
    showtooltip('hotspot');
  </action>


  <action name="onoutIconDéplacementflêcheverslagauche">
    hideTooltip();



  </action>



    
  <!-- Spot Style - Déplacement flêche vers la droite -->
  <style name="IconDéplacementflêcheversladroite"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint6.png"
         visible="false"
         frame="0"
         lastframe="15"
         framewidth="88"
         frameheight="31"
         stopspotsequence="false"
         crop="0|0|88|31"
         onloaded="startspotanimation(0.1);"
         onhover="onhoverIconDéplacementflêcheversladroite"
         onout="onoutIconDéplacementflêcheversladroite"


         />

  <action name="onhoverIconDéplacementflêcheversladroite">
    showtooltip('hotspot');
  </action>


  <action name="onoutIconDéplacementflêcheversladroite">
    hideTooltip();



  </action>



<!-- ********** -->
<!-- Pile de miniatures -->
<!-- id : stackthumbs -->
<!-- ********** -->

  <krpano stackthumbsIsOpen="false" stackthumbsFirstLoad="true" />

  <events name="stackthumbsEvents"
          onnewpano="stackthumbsClose(0);"
          onTourStart="stackthumbsBuild();"
          hidetourcontrols="stackthumbsHide();"
          showtourcontrols="stackthumbsShow();"
          hidetourthumbnails="stackthumbsHide();"
          showtourthumbnails="stackthumbsShow();"
          keep="true"/>

  <layer name="stackthumbsMainLayer" type="container" zorder="1" width="1" height="1" alpha="1" keep="true" x="0" y="0" visible="true" align="topleft" />

  <action name="stackthumbsHide">
    set(hstcstackthumbsi_wait,30);
    for (set(hstcstackthumbsi, 0), hstcstackthumbsi LT scene.count, inc(hstcstackthumbsi),
      if(hstcstackthumbsi_wait == hstcstackthumbsi,
        add(hstcstackthumbsi_wait, 30);
        wait(0);
      );
      txtadd(thumbname,'stackthumbs_', get(hstcstackthumbsi));
      txtadd(thumbnameimg, get(thumbname), '_img');
      set(layer[get(thumbname)].visible, false);
      set(layer[get(thumbnameimg)].visible, false);
    );
  </action>
  <action name="stackthumbsShow">
  if (tour_displaythumbnails, 
    set(sstcstackthumbsi_wait,30);
    for (set(sstcstackthumbsi, 0), sstcstackthumbsi LT scene.count, inc(sstcstackthumbsi),
      if(sstcstackthumbsi_wait == sstcstackthumbsi,
        add(sstcstackthumbsi_wait, 30);
        wait(0);
      );
      txtadd(thumbname,'stackthumbs_', get(sstcstackthumbsi));
      txtadd(thumbnameimg, get(thumbname), '_img');
      set(layer[get(thumbname)].visible, true);
      set(layer[get(thumbnameimg)].visible, true);
    );
  );
  </action>

  <action name="stackthumbsMagnify">
    tween(layer[%1].alpha,  1.0, 0.3, easeInQuad);
    tween(layer[%1].scale, 1.05, 0.3, easeInQuad);
    tween(layer[get(layer[%1].thumbborder)].alpha,  1.0, 0.3, easeInQuad);
    tween(layer[get(layer[%1].thumbborder)].scale, 1.05, 0.3, easeInQuad);
    set(layer[get(layer[%1].thumbborder)].bgborder, '2 0xffffff 1');
  </action>

  <action name="stackthumbsLies">
    tween(layer[%1].alpha, 0.8, 0.3, easeInQuad);
    tween(layer[%1].scale, 1.0, 0.3, easeInQuad);
    tween(layer[get(layer[%1].thumbborder)].alpha, 0.8, 0.3, easeInQuad);
    tween(layer[get(layer[%1].thumbborder)].scale, 1.0, 0.3, easeInQuad);
    set(layer[get(layer[%1].thumbborder)].bgborder, '2 0xffffff 0.20000000000000001');
  </action>


<krpano stackthumbsBuilt="false"/>

  <action name="stackthumbsBuild">
    ifnot (stackthumbsBuilt,
    set(bststackthumbsi_wait,30);
    for (set(bststackthumbsi, 0), bststackthumbsi LT scene.count, inc(bststackthumbsi),
      if(bststackthumbsi_wait == bststackthumbsi,
        add(bststackthumbsi_wait, 30);
        wait(0);
      );

        copy(thumburl, scene[get(bststackthumbsi)].thumburl);
        txtadd(thumbname,'stackthumbs_', get(bststackthumbsi));
        txtadd(thumbnameimg, get(thumbname), '_img');

        addplugin(get(thumbname));
        addplugin(get(thumbnameimg));
        set(layer[get(thumbnameimg)].parent, "stackthumbsMainLayer");
        set(layer[get(thumbname)].parent, get(thumbnameimg));
        set(layer[get(thumbnameimg)].url   , get(thumburl));
        set(layer[get(thumbname)].type, 'container');
        set(layer[get(thumbnameimg)].keep  , true);
        set(layer[get(thumbname)].keep  , true);
        set(layer[get(thumbnameimg)].align , topleft);
        set(layer[get(thumbname)].align , topleft);
        set(layer[get(thumbnameimg)].edge  , center);

        set(layer[get(thumbnameimg)].width , 50);
        set(layer[get(thumbnameimg)].height, 25);
        set(layer[get(thumbname)].width , 50);
        set(layer[get(thumbname)].height, 25);

        set(layer[get(thumbnameimg)].alpha , 0.8);
        set(layer[get(thumbnameimg)].visible , false);
        set(layer[get(thumbname)].alpha , 0.8);
        set(layer[get(thumbname)].visible , false);

        if (bststackthumbsi GE 4, set(reali, 4), set(reali, get(bststackthumbsi)));

        mul(layer[get(thumbnameimg)].x, get(reali),3);
        mul(layer[get(thumbnameimg)].y, get(reali),3);

        add(closedthumboffsetx, 10, 25);
        add(layer[get(thumbnameimg)].x, get(closedthumboffsetx));

        add(closedthumboffsety, 10, 12);
        add(layer[get(thumbnameimg)].y, get(closedthumboffsety));

        copy(layer[get(thumbnameimg)].xsmall, layer[get(thumbnameimg)].x);
        copy(layer[get(thumbnameimg)].ysmall, layer[get(thumbnameimg)].y);

        add(layer[get(thumbnameimg)].zorder, 0, bststackthumbsi);
        add(layer[get(thumbname)].zorder, 0, bststackthumbsi);
        set(layer[get(thumbname)].bgborder, '2 0xffffff 0.20000000000000001');

          set(layer[get(thumbnameimg)].tooltip,get(scene[get(bststackthumbsi)].titleid));
        set(layer[get(thumbnameimg)].thumbborder, get(thumbname));
        set(layer[get(thumbnameimg)].thumbpos, get(bststackthumbsi));
        set(layer[get(thumbnameimg)].linkedpano, get(scene[get(bststackthumbsi)].name) );
        set(layer[get(thumbnameimg)].onclick, stackthumbsOpen() );
      );

      set(stackthumbsBuilt, true);

      stackthumbsShow();

      
    );
  </action>

  <action name="stackthumbsOpenThumb">
    if(%3 != NEXT,
      set(pos,0);
      copy(curpos, layer[%1].thumbpos);
      set(xdst, 0);
      set(ydst, 0);
    );
    if (pos LT curpos,
      inc(pos);

        inc(ydst, 60);
        if (ishtml5,
          sub(ymax, stageheight, 50);
         ,
          sub(ymax, area.pixelheight, 50);
        );
        dec(ymax, 30);
        if(ydst GT ymax,
          inc(xdst, 110);
          set(ydst,0);
        );

      stackthumbsOpenThumb(%1,%2,NEXT);
     ,
      set(openthumboffsetx, 50);
      add(openthumboffsetx, 10);
      add(xdst, get(openthumboffsetx));

      set(openthumboffsety, 25);
      add(openthumboffsety, 10);
      add(ydst, get(openthumboffsety));

      tween(layer[%1].x, get(xdst) );
      tween(layer[%1].y, get(ydst) );
      tween(layer[%1].width , 100);
      tween(layer[%1].height, 50);
      tween(layer[%2].width , 100);
      tween(layer[%2].height, 50);
    );
  </action>

  <action name="stackthumbsOpen">
    set(oststackthumbsi_wait,30);
    for (set(oststackthumbsi, 0), oststackthumbsi LT scene.count, inc(oststackthumbsi),
    if(oststackthumbsi_wait == oststackthumbsi,
      add(oststackthumbsi_wait, 30);
      wait(0);
    );
      txtadd(thumbname,'stackthumbs_',get(oststackthumbsi));
      txtadd(thumbnameimg, get(thumbname), '_img');
      stackthumbsOpenThumb(get(thumbnameimg), get(thumbname));
      set(layer[get(thumbnameimg)].onover, stackthumbsMagnify(get(name)); );
      set(layer[get(thumbnameimg)].onout, stackthumbsLies(get(name)); hideTooltip(); );
      set(layer[get(thumbnameimg)].onhover, showTooltip('plugin'); );
      set(layer[get(thumbnameimg)].onclick, stackthumbsLies(get(name)); stackthumbsClose(0); mainloadscene(get(linkedpano)); );
    );
    
    set(stackthumbsIsOpen, true);
  </action>

  <action name="stackthumbsClose">
    if (stackthumbsIsOpen,
    set(cststackthumbsi_wait,30);
    for (set(cststackthumbsi, 0), cststackthumbsi LT scene.count, inc(cststackthumbsi),
      if(cststackthumbsi_wait == cststackthumbsi,
        add(cststackthumbsi_wait, 30);
        wait(0);
      );
      txtadd(thumbname,'stackthumbs_', get(cststackthumbsi));
      txtadd(thumbnameimg, get(thumbname), '_img');
      stackthumbsCloseThumb(get(thumbnameimg), get(thumbname));
    );
    
    set(stackthumbsIsOpen, false);
    );
  </action>
  <action name="stackthumbsCloseThumb">
    tween(layer[%1].x, get(layer[%1].xsmall));
    tween(layer[%1].y, get(layer[%1].ysmall));
    tween(layer[%1].width, 50);
    tween(layer[%1].height, 25);
    tween(layer[%2].width, 50);
    tween(layer[%2].height, 25);
    set(layer[%1].alpha, 0.8);
    set(layer[%1].onover, '');
    set(layer[%1].onout, '');
    set(layer[%1].onhover, '');hideTooltip();
    set(layer[%1].onclick, stackthumbsOpen() );
  </action>


<!-- ********** -->
<!-- Call actions on tour events -->
<!-- id : eventsPlugin -->
<!-- ********** -->

  <events name="eventsPluginevents" keep="true"/>

<!-- ********* -->
<!-- Gyroscope -->
<!-- ********* -->



<plugin name="gyroscope"
        url="%FIRSTXML%/graphics/gyro2.js"
        keep="true"
        devices="no-desktop.and.html5"

        onunavailable="checkGyroUnavailable();"
        sensor_mode="1"
        friction="auto"
        autocalibration="true"
        touch_mode="full"
        onavailable="delayedcall(1, checkGyroAvailability(););"
        enabled="false"
        activated="false"
        />

<events name="gyroscopeEvents" onnewpano="planarGyroscopeTest();" keep="true" />

<action name="planarGyroscopeTest">
  if(plugin[gyroscope],
          if(scene[get(xml.scene)].full360,
            set(sceneisfull360, false);
            sub(viewhfov, panoview.hmax, panoview.hmin);
            if (viewhfov == 360,
              sub(viewvfov, panoview.vmax, panoview.vmin);
              if (viewvfov == 180,
                set(sceneisfull360, true);
              );
            );
            if (sceneisfull360,
              set(plugin[gyroscope].camroll, true);
            ,
              set(plugin[gyroscope].camroll, false);
            );
          ,
            set(plugin[gyroscope].camroll, false);
          );
  );
</action>

<action name="changeGyroscopeState">
  if(plugin[gyroscope],
    if (plugin[gyroscope].isavailable,
        if(%1,
          set(plugin[gyroscope].activated,true);
        ,
          set(plugin[gyroscope].activated,false);
        );
        if (%1 != plugin[gyroscope].enabled,
          if(plugin[gyroscope].activated,
            switch(plugin[gyroscope].enabled);
          ,
            set(plugin[gyroscope].enabled, false);
          );
          if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
        );
    );
  );
</action>

<action name="checkGyroAvailability">
  if(plugin[gyroscope],
    if (plugin[gyroscope].isavailable,
      ifnot(tour_firstlittleplanet,
        
        switch(plugin[gyroscope].enabled);
        set(plugin[gyroscope].activated,true);
        
        set(tour_gyroscopedevices, true);
        events.dispatch(ongyroscopeavailable);
      ,
        delayedcall(1, checkGyroAvailability(););
      );
    ,
      set(tour_gyroscopedevices, false);
    );
    if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
  ,
    checkGyroUnavailable();
  );
</action>

<action name="checkGyroUnavailable">
  set(plugin[gyroscope].activated, false);
  set(plugin[gyroscope].enabled, false);
  set(tour_gyroscopedevices, false);
  events.dispatch(ongyroscopeunavailable);
</action>

<!-- ********** -->
<!-- Barre de contrôle classique -->
<!-- id : controlBar_classic -->
<!-- ********** -->

  <krpano controlBar_classicbarbuilt="false" controlBar_classicbackgroundwidthwhenclosed="0" controlBar_classicbackgroundwidthwhenopened="0" controlBar_classicIsOpened="false" />
  <events name="controlBar_classicevents" 
    onxmlcomplete="controlBar_classicbuildMenuBar();" 

    openvideointerface="controlBar_classicOpenVideoplayer();" 
    closevideointerface="controlBar_classicCloseVideoplayer();" 

    keep="true" />



  <action name="controlBar_classicbuildMenuBar">
    ifnot (controlBar_classicbarbuilt, controlBar_classicbuildMenu(); set(controlBar_classicbarbuilt, true););
  </action>

  <action name="controlBar_classicbuildMenu">
    
    set(controlBar_classicbutton_pos, 20);

    set(layer[controlBar_classicbtn_hidecontrols].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_showcontrols].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);
    add(controlBar_classicbackgroundwidthwhenclosed, get(controlBar_classicbutton_pos), 20);



    if (device.desktop,
      set(layer[controlBar_classicbtn_display_help].x, get(controlBar_classicbutton_pos));
      set(layer[controlBar_classicbtn_close_help  ].x, get(controlBar_classicbutton_pos));
      inc(controlBar_classicbutton_pos, 36);
    );

    if (device.fullscreensupport,
      set(layer[controlBar_classicbtn_openfs ].x, get(controlBar_classicbutton_pos));
      set(layer[controlBar_classicbtn_closefs].x, get(controlBar_classicbutton_pos));
      inc(controlBar_classicbutton_pos, 36);
    );


    set(layer[controlBar_classicbtn_share].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);


    set(layer[controlBar_classicbtn_autorotate_on ].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_autorotate_off].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);


    set(layer[controlBar_classicbtn_sound_on ].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_sound_off].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);


    set(layer[controlBar_classicbtn_show_thumbnails].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_hide_thumbnails].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);

    if (device.desktop,
      set(layer[controlBar_classicbtn_ctrlmode_drag_to].x, get(controlBar_classicbutton_pos));
      set(layer[controlBar_classicbtn_ctrlmode_move_to].x, get(controlBar_classicbutton_pos));
      inc(controlBar_classicbutton_pos, 36);
    );


    if(plugin[ptpvrmode] AND device.html5,
      set(layer[controlBar_classicbtn_enter_vr].x, get(controlBar_classicbutton_pos));
      set(layer[controlBar_classicbtn_enter_vr_not].x, get(controlBar_classicbutton_pos));
      inc(controlBar_classicbutton_pos, 36);
    );

    set(layer[controlBar_classicbtn_show_hotspots].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_hide_hotspots].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);


    if(plugin[gyroscope],
      set(controlBar_classicDisplayGyroscopeButton, false);
      if (device.tablet, set(controlBar_classicDisplayGyroscopeButton, true););
      if (device.mobile, set(controlBar_classicDisplayGyroscopeButton, true););
      if(controlBar_classicDisplayGyroscopeButton,
        set(layer[controlBar_classicbtn_gyroscope_on ].x, get(controlBar_classicbutton_pos));
        set(layer[controlBar_classicbtn_gyroscope_off].x, get(controlBar_classicbutton_pos));
        set(layer[controlBar_classicbtn_gyroscope_not].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
      );
    );


    set(layer[controlBar_classicbtn_home].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_home].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);

    if (device.desktop,
        set(layer[controlBar_classicbtn_right].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
        set(layer[controlBar_classicbtn_left].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
    );
    if (device.desktop,
        set(layer[controlBar_classicbtn_down].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
        set(layer[controlBar_classicbtn_up].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
    );
    if (device.desktop,
        set(layer[controlBar_classicbtn_out].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
        set(layer[controlBar_classicbtn_in].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
    );
    if (scene.count GT 1,
        set(layer[controlBar_classicbtn_next_pano].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
        set(layer[controlBar_classicbtn_prev_pano].x, get(controlBar_classicbutton_pos));
        inc(controlBar_classicbutton_pos, 36);
      );


    set(layer[controlBar_classicbtn_play_video].x, get(controlBar_classicbutton_pos));
    set(layer[controlBar_classicbtn_pause_video].x, get(controlBar_classicbutton_pos));
    inc(controlBar_classicbutton_pos, 36);

    inc(controlBar_classicbutton_pos, 20);

    set(controlBar_classicbackgroundwidthwhenopened, get(controlBar_classicbutton_pos));

    sub(controlBar_classicbackgroundwidthwhenopenedwithoutvideo, controlBar_classicbackgroundwidthwhenopened, 36);


    
    add(controlBar_classicVerifyVisibility, 20, 20);
    if(controlBar_classicbackgroundwidthwhenopened == controlBar_classicVerifyVisibility,
      set(controlBar_classicbackgroundwidthwhenopened, 0);

      set(controlBar_classicbackgroundwidthwhenopenedwithoutvideo, 0);

    );

	
	
  </action>

	<events name="controlBar_classicStartTourEvents" onTourStart="controlBar_classicCallOnStartTour();" keep="true" />

	<action name="controlBar_classicCallOnStartTour">
		
		set(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbutton_pos));
		set(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbutton_pos));
		controlBar_classicshowMenuControls();
	</action>

	<action name="controlBar_classicOpenVideoplayer">
		set(controlBar_classic_use_videoplayer_interface, true);
		
		controlBar_classicupdateHideShowVideoplayerButtons();
	</action>
	<action name="controlBar_classicCloseVideoplayer">
		set(controlBar_classic_use_videoplayer_interface, false);
		
		controlBar_classicupdateHideShowVideoplayerButtons();
	</action>


  <style name="controlBar_classic_btn_style"
         keep="true"
         alpha="0.8"
         edge="right" align="right"
         width="36" height="36"
         zorder="6"
         onover="controlBar_classicctrlbaronoveraction();"
         onout="controlBar_classicctrlbaronoutaction();"
         onhover="showTooltip('plugin', controlBar_classicmenuTooltipStyle, bottom);"
         />
  <action name="controlBar_classicctrlbaronoveraction">
    tween(alpha,1,0.1,easeoutquad);
    tween(y,-2,0.1,easeoutquad);
  </action>  
  <action name="controlBar_classicctrlbaronoutaction">
    tween(alpha,0.8);
    tween(y,0,0.1,easeoutquad);
    hideTooltip();
  </action>

  <layer name="controlBar_classicmenu_controlbar_bg_img"
         keep="true"
         align="bottomright"
         x="0" y="10"
         url="%FIRSTXML%/graphics/classiccontrolbar/footer.png"
         zorder="4"
         width="40"
         height="40"
         scale9grid="10|10|80|80"
         visible="false"
         />
  <layer name="controlBar_classicmenu_controlbar_bg"
         keep="true"
         align="bottomright"
         x="0" y="10"
         type="container"
         zorder="5"
         width="40"
         height="40"
         visible="false"
         alpha="1.0"
         >

    <layer name="controlBar_classicbtn_hide_hotspots"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_hide_show_hotspots.png"
            style="controlBar_classic_btn_style"
            onclick="hideHotspots();
"
            tooltip="controlBar_classichideSpotsTip"
            visible="false"
            />
    <layer name="controlBar_classicbtn_show_hotspots"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_hide_show_hotspots.png"
            style="controlBar_classic_btn_style"
            onclick="showHotspots();
"
            tooltip="controlBar_classicshowSpotsTip"
            visible="false"
            />


    <layer name="controlBar_classicbtn_gyroscope_off"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_gyroscope.png"
            style="controlBar_classic_btn_style"
            onclick="disableGyroscope();
"
            devices="html5"
            tooltip="controlBar_classicgyroOffTip"
            visible="false"
            />
    <layer name="controlBar_classicbtn_gyroscope_on"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_gyroscope.png"
            style="controlBar_classic_btn_style"
            onclick="enableGyroscope();
"
            devices="html5"
            tooltip="controlBar_classicgyroOnTip"
            visible="false"
            />
    <layer name="controlBar_classicbtn_gyroscope_not"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_gyroscope_off.png"
            style="controlBar_classic_btn_style"
            enabled="true"
            capture="false"
            devices="html5"
            tooltip="controlBar_classicgyroNotTip"
            visible="false"
            />


    <layer name="controlBar_classicbtn_ctrlmode_move_to"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_move_to.png"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicctrlmodeMoveTip"
            onclick="setControlModeMoveTo();
"
            visible="false"
            devices="desktop"
            />
    <layer name="controlBar_classicbtn_ctrlmode_drag_to"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_drag_to.png"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicctrlmodeDragTip"
            onclick="setControlModeDragTo();
"
            visible="false"
            devices="desktop"
            />

    <layer name="controlBar_classicbtn_in"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_zoom_in.png"
            ondown="viewControlZoomIn(false);"
            onup="viewControlZoomStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classiczoomInTip"
            devices="desktop"
            visible="false"
            />
    <layer name="controlBar_classicbtn_out"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_zoom_out.png"
            ondown="viewControlZoomOut(false);
"
            onup="viewControlZoomStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classiczoomOutTip"
            devices="desktop"
            visible="false"
            />

    <layer name="controlBar_classicbtn_home"
           url="%FIRSTXML%/graphics/classiccontrolbar/btn_home.png"
           onclick="controlBar_classicbtn_home_action();"
           style="controlBar_classic_btn_style"
           tooltip="controlBar_classichomeTip"
           visible="false"
           />
    <layer name="controlBar_classicbtn_left"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_move_left.png"
            ondown="viewControlMoveLeft(false);
"
            onup="viewControlMoveHoriStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicmoveLeftTip"
            devices="desktop"
            visible="false"
            />
    <layer name="controlBar_classicbtn_right"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_move_right.png"
            ondown="viewControlMoveRight(false);
"
            onup="viewControlMoveHoriStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicmoveRightTip"
            devices="desktop"
            visible="false"
            />

    <layer name="controlBar_classicbtn_up"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_move_up.png"
            ondown="viewControlMoveUp(false);
"
            onup="viewControlMoveVertStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicmoveUpTip"
            devices="desktop"
            visible="false"
            />
    <layer name="controlBar_classicbtn_down"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_move_down.png"
            ondown="viewControlMoveDown(false);
"
            onup="viewControlMoveVertStop();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicmoveDownTip"
            devices="desktop"
            visible="false"
            />


    <layer name="controlBar_classicbtn_sound_on"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_start_sound.png"
            onclick="playTourSounds();
"
            style="controlBar_classic_btn_style"
            visible="false"
            tooltip="controlBar_classicsoundsOnTip"
            />
    <layer name="controlBar_classicbtn_sound_off"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_stop_sound.png"
            onclick="stopTourSounds();
"
            style="controlBar_classic_btn_style"
            visible="false"
            tooltip="controlBar_classicsoundsOffTip"
            />


    <layer name="controlBar_classicbtn_prev_pano"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_previous_scene.png"
            onclick="loadPreviousScene();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicprevSceneTip"
            visible="false"
            />
    <layer name="controlBar_classicbtn_next_pano"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_next_scene.png"
            onclick="loadNextScene();
"
            style="controlBar_classic_btn_style"
            tooltip="controlBar_classicnextSceneTip"
            visible="false"
            />

  <layer name="controlBar_classicbtn_hide_thumbnails"
         url="%FIRSTXML%/graphics/classiccontrolbar/btn_hide_thumbnails.png"
         style="controlBar_classic_btn_style"
         onclick="hideTourThumbnails();
"
         tooltip="controlBar_classichideThumbnailsTip"
         visible="false"
         />
  <layer name="controlBar_classicbtn_show_thumbnails"
         url="%FIRSTXML%/graphics/classiccontrolbar/btn_show_thumbnails.png"
         style="controlBar_classic_btn_style"
         onclick="showTourThumbnails();
"
         tooltip="controlBar_classicshowThumbnailsTip"
         visible="false"
         />


    <layer name="controlBar_classicbtn_share"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_share.png"
            onclick="shareTour();
"
            style="controlBar_classic_btn_style"
            visible="false"
            tooltip="controlBar_classicshareTip"
            />


    <layer name="controlBar_classicbtn_openfs"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_enter_fs.png"
            onclick="enterFullscreen();
"
            style="controlBar_classic_btn_style"
            devices="fullscreensupport"
            visible="false"
            tooltip="controlBar_classicopenFsTip"
            />
    <layer name="controlBar_classicbtn_closefs"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_close_fs.png"
            onclick="exitFullscreen();
"
            style="controlBar_classic_btn_style"
            visible="false"
            devices="fullscreensupport"
            tooltip="controlBar_classiccloseFsTip"
            />

    <layer name="controlBar_classicbtn_autorotate_on"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_start_autorotation.png"
            onclick="resumeautorotation();
"
            style="controlBar_classic_btn_style"
            visible="false"
            tooltip="controlBar_classicautorotateOnTip"
            />
    <layer name="controlBar_classicbtn_autorotate_off"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_stop_autorotation.png"
            onclick="pauseautorotation();
"
            style="controlBar_classic_btn_style"
            visible="false"
            tooltip="controlBar_classicautorotateOffTip"
            />


    <layer name="controlBar_classicbtn_play_video"
           url="%FIRSTXML%/graphics/classiccontrolbar/btn_start_videoplayer.png"
           onclick="videointerface_togglepause();"
           style="controlBar_classic_btn_style"
           visible="false"
           tooltip="controlBar_classicplayVideoTip"
           />
    <layer name="controlBar_classicbtn_pause_video"
           url="%FIRSTXML%/graphics/classiccontrolbar/btn_pause_videoplayer.png"
           onclick="videointerface_togglepause();"
           style="controlBar_classic_btn_style"
           visible="false"
           tooltip="controlBar_classicpauseVideoTip"
           />

    <layer name="controlBar_classicbtn_enter_vr"
           url="%FIRSTXML%/graphics/classiccontrolbar/btn_vr_mode.png"
           onclick="js(accessWebVr());
"
           style="controlBar_classic_btn_style"
           visible="false"
           devices="html5"
           tooltip="controlBar_classicenterVRTip"
           />
    <layer name="controlBar_classicbtn_enter_vr_not"
           url="%FIRSTXML%/graphics/classiccontrolbar/btn_vr_mode_off.png"
           style="controlBar_classic_btn_style"
           enabled="true"
           capture="false"
           visible="false"
           devices="html5"
           tooltip="controlBar_classicenterVRNotTip"
           />

    <layer name="controlBar_classicbtn_display_help"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_help.png"
            onclick="controlBar_classicdisplayHelp();"
            style="controlBar_classic_btn_style"
            devices="desktop"
            visible="false"
            tooltip="controlBar_classicdisplayHelpTip"
            />
    <layer name="controlBar_classicbtn_close_help"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_help.png"
            onclick="controlBar_classiccloseHelp();"
            style="controlBar_classic_btn_style"
            visible="false"
            devices="desktop"
            tooltip="controlBar_classichideHelpTip"
            />



    <layer name="controlBar_classicbtn_hidecontrols"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_hide_controls.png"
            style="controlBar_classic_btn_style"
            onclick="controlBar_classichideMenuControls();hideTourControls();
"
            visible="false"
            tooltip="controlBar_classichideControlsTip"
            />
    <layer name="controlBar_classicbtn_showcontrols"
            url="%FIRSTXML%/graphics/classiccontrolbar/btn_show_controls.png"
            style="controlBar_classic_btn_style"
            onclick="controlBar_classicshowMenuControls();showTourControls();
"
            tooltip="controlBar_classicdisplayControlsTip"
            visible="false"
            />
  </layer>


<events name="controlBar_classicvravailableevent"
		onvravailable="controlBar_classicupdateVrButtonsAvailability();"
		onvrunavailable="controlBar_classicupdateVrButtonsAvailability();"
		keep="true" devices="html5" />
	<krpano controlBar_classicmenuvravailable="false" />
	<action name="controlBar_classicupdateVrButtonsAvailability">
		if (tour_vrdevices,
			set(controlBar_classicmenuvravailable, true);
		,
			set(controlBar_classicmenuvravailable, false);
		);
		controlBar_classicupdateVrButtons();
	</action>
	<action name="controlBar_classicHideVrButtons">
		set(layer[controlBar_classicbtn_enter_vr].visible, false);
		if('%1' == 'true' AND plugin[ptpvrmode],
			set(layer[controlBar_classicbtn_enter_vr_not].visible, true);
		,
			set(layer[controlBar_classicbtn_enter_vr_not].visible, false);
		);
	</action>
	<action name="controlBar_classicShowVrButtons">
		if (controlBar_classicmenuvravailable,
			set(layer[controlBar_classicbtn_enter_vr].visible, true);
			set(layer[controlBar_classicbtn_enter_vr_not].visible, false);
		,
			controlBar_classicHideVrButtons(true);
		);
	</action>
	<action name="controlBar_classicupdateVrButtons">
	if (tour_vrdevices,
		if (controlBar_classicIsOpened,
			controlBar_classicShowVrButtons();
		,
			controlBar_classicHideVrButtons();
		);
	,
		if (controlBar_classicIsOpened,
			controlBar_classicHideVrButtons(true);
		,
			controlBar_classicHideVrButtons();
		);
	);
	</action>

	<events name="controlBar_classicgyroscopeavailableevent"
		ongyroscopeavailable="controlBar_classicupdateGyroscopeButtonsAvailability();"
		ongyroscopeunavailable="controlBar_classicupdateGyroscopeButtonsAvailability();"
		ongyroscopeon="controlBar_classicenableGyroscopeButtons(true);"
		ongyroscopeoff="controlBar_classicenableGyroscopeButtons(false);"
		keep="true" devices="html5" />
	<krpano controlBar_classicmenugyroscopeavailable="false" controlBar_classicmenugyroscopeenabled="false" />
	<action name="controlBar_classicupdateGyroscopeButtonsAvailability">
		if (tour_gyroscopedevices,
			set(controlBar_classicmenugyroscopeavailable, true);
			controlBar_classicupdateGyroscopeButtons();
		,
			set(controlBar_classicmenugyroscopeavailable, false);
			controlBar_classicupdateGyroscopeButtons();
		);
	</action>
	<action name="controlBar_classicenableGyroscopeButtons">
		if (tour_gyroscopedevices,
			set(controlBar_classicmenugyroscopeenabled, %1);
			controlBar_classicupdateGyroscopeButtons();
		);
	</action>
	<action name="controlBar_classicHideGyroscopeButtons">
		set(layer[controlBar_classicbtn_gyroscope_off].visible, false);
		set(layer[controlBar_classicbtn_gyroscope_on].visible, false);
		if('%1' == 'true' AND plugin[gyroscope],
			set(layer[controlBar_classicbtn_gyroscope_not].visible, true);
		,
			set(layer[controlBar_classicbtn_gyroscope_not].visible, false);
		);
	</action>
	<action name="controlBar_classicShowGyroscopeButtons">
		if (controlBar_classicmenugyroscopeavailable,
			if (controlBar_classicmenugyroscopeenabled,
				set(layer[controlBar_classicbtn_gyroscope_off].visible, true);
				set(layer[controlBar_classicbtn_gyroscope_on].visible, false);
			,
				set(layer[controlBar_classicbtn_gyroscope_off].visible, false);
				set(layer[controlBar_classicbtn_gyroscope_on].visible, true);
			);
			set(layer[controlBar_classicbtn_gyroscope_not].visible, false);
		,
			controlBar_classicHideGyroscopeButtons(true);
		);
	</action>
	<action name="controlBar_classicupdateGyroscopeButtons">
	if (tour_gyroscopedevices,
		if (controlBar_classicIsOpened,
			controlBar_classicShowGyroscopeButtons();
		,
			controlBar_classicHideGyroscopeButtons();
		);
	,
		if (controlBar_classicIsOpened,
			controlBar_classicHideGyroscopeButtons(true);
		,
			controlBar_classicHideGyroscopeButtons();
		);
	);
	</action>


	<events name="controlBar_classiccontrolmodechangedevent" 
		oncontrolmodechanged="controlBar_classicupdateControlModeButtons();" 
		keep="true" />
	<action name="controlBar_classicHideControlModeButtons">
		set(layer[controlBar_classicbtn_ctrlmode_move_to].visible, false);
		set(layer[controlBar_classicbtn_ctrlmode_drag_to].visible, false);
	</action>
	<action name="controlBar_classicShowControlModeButtons">
		if (tour_controlmodemousetype == "moveto",
			set(layer[controlBar_classicbtn_ctrlmode_drag_to].visible, true);
			set(layer[controlBar_classicbtn_ctrlmode_move_to].visible, false);
		,
			set(layer[controlBar_classicbtn_ctrlmode_move_to].visible, true);
			set(layer[controlBar_classicbtn_ctrlmode_drag_to].visible, false);
		);
	</action>
	<action name="controlBar_classicupdateControlModeButtons">
	if (device.desktop,
		if (controlBar_classicIsOpened,
			controlBar_classicShowControlModeButtons();
		,
			controlBar_classicHideControlModeButtons();
		);
	,
		controlBar_classicHideControlModeButtons();
	);
	</action>

	<events name="controlBar_classichideshowthumbnailsevent" 
		hidetourthumbnails="controlBar_classicupdateHideShowThumbnailsButtons();" 
		showtourthumbnails="controlBar_classicupdateHideShowThumbnailsButtons();" 
		keep="true" />
	<action name="controlBar_classicHideHideShowThumbnailsButtons">
		set(layer[controlBar_classicbtn_show_thumbnails].visible, false);
		set(layer[controlBar_classicbtn_hide_thumbnails].visible, false);
	</action>
	<action name="controlBar_classicShowHideShowThumbnailsButtons">
		if (tour_displaythumbnails,
			set(layer[controlBar_classicbtn_hide_thumbnails].visible, true);
			set(layer[controlBar_classicbtn_show_thumbnails].visible, false);
		,
			set(layer[controlBar_classicbtn_show_thumbnails].visible, true);
			set(layer[controlBar_classicbtn_hide_thumbnails].visible, false);
		);
	</action>
	<action name="controlBar_classicupdateHideShowThumbnailsButtons">
		if (controlBar_classicIsOpened,
			controlBar_classicShowHideShowThumbnailsButtons();
		,
			controlBar_classicHideHideShowThumbnailsButtons();
		);
	</action>


  <action name="controlBar_classichideMenuControls">
    set(controlBar_classicIsOpened, false);
    set(layer[controlBar_classicbtn_hidecontrols].visible, false);
    set(layer[controlBar_classicbtn_showcontrols].visible, true);
    controlBar_classicupdateFullscreenButtons();

    set(layer[controlBar_classicbtn_share].visible, false);
    controlBar_classicupdateSoundButtons();
    controlBar_classicupdateVrButtons();

    if (scene.count GT 1,
    set(layer[controlBar_classicbtn_prev_pano].visible, false);
    set(layer[controlBar_classicbtn_next_pano].visible, false);
    );
    controlBar_classicupdateAutorotationButtons();

    controlBar_classicupdateHideShowVideoplayerButtons();

    controlBar_classicupdateHideShowThumbnailsButtons();
    set(layer[controlBar_classicbtn_up].visible  , false);
    set(layer[controlBar_classicbtn_down].visible, false);
    set(layer[controlBar_classicbtn_home].visible, false);
    set(layer[controlBar_classicbtn_right].visible, false);
    set(layer[controlBar_classicbtn_left].visible , false);
    set(layer[controlBar_classicbtn_in].visible , false);
    set(layer[controlBar_classicbtn_out].visible, false);


    controlBar_classicupdateControlModeButtons();
    controlBar_classicupdateHideShowHotspotsButtons();

    controlBar_classicupdateGyroscopeButtons();

    controlBar_classicupdateHelpButtons();


    if(controlBar_classicbackgroundwidthwhenclosed == 0,
      set(layer[controlBar_classicmenu_controlbar_bg_img].visible, false);
      set(layer[controlBar_classicmenu_controlbar_bg].visible, false);
    ,
      set(layer[controlBar_classicmenu_controlbar_bg_img].visible, true);
      set(layer[controlBar_classicmenu_controlbar_bg].visible, true);
    );
    tween(layer[controlBar_classicmenu_controlbar_bg_img].width,get(controlBar_classicbackgroundwidthwhenclosed),0.5,easeOutQuad);
    tween(layer[controlBar_classicmenu_controlbar_bg].width,get(controlBar_classicbackgroundwidthwhenclosed),0.5,easeOutQuad);
    tween(layer[controlBar_classicmenu_controlbar_bg_img].alpha,1.0,0.5,easeOutQuad);
  </action>
  <action name="controlBar_classicshowMenuControls">
    set(controlBar_classicIsOpened, true);
    set(layer[controlBar_classicbtn_hidecontrols].visible, true);
    set(layer[controlBar_classicbtn_showcontrols].visible, false);
    if(controlBar_classicbackgroundwidthwhenopened == 0,
      set(layer[controlBar_classicmenu_controlbar_bg_img].visible, false);
      set(layer[controlBar_classicmenu_controlbar_bg].visible, false);
    ,
      set(layer[controlBar_classicmenu_controlbar_bg_img].visible, true);
      set(layer[controlBar_classicmenu_controlbar_bg].visible, true);
    );
    tween(layer[controlBar_classicmenu_controlbar_bg_img].alpha,1.0,0.5,easeOutQuad);
    controlBar_classicshowMenuButtons();

    if(scene[get(xml.scene)].video,

      tween(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);
      tween(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);

    ,
      tween(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo),0.5,easeOutQuad);
      tween(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo),0.5,easeOutQuad);
    );

  </action>
  <action name="controlBar_classicshowMenuButtons">
    if (device.desktop,
    set(layer[controlBar_classicbtn_up].visible  , true);
    set(layer[controlBar_classicbtn_down].visible, true);
    );
    if (device.desktop,
    set(layer[controlBar_classicbtn_right].visible, true);
    set(layer[controlBar_classicbtn_left].visible , true);
    );
    if (device.desktop,
    set(layer[controlBar_classicbtn_in].visible , true);
    set(layer[controlBar_classicbtn_out].visible, true);
    );
    set(layer[controlBar_classicbtn_home].visible, true);


    controlBar_classicupdateControlModeButtons();
    controlBar_classicupdateHideShowHotspotsButtons();

    controlBar_classicupdateGyroscopeButtons();

    controlBar_classicupdateHelpButtons();


    controlBar_classicupdateFullscreenButtons();

    set(layer[controlBar_classicbtn_share].visible, true);
    controlBar_classicupdateSoundButtons();
    controlBar_classicupdateVrButtons();

    if (scene.count GT 1,
      set(layer[controlBar_classicbtn_prev_pano].visible, true);
      set(layer[controlBar_classicbtn_next_pano].visible, true);
    );
    controlBar_classicupdateAutorotationButtons();

    controlBar_classicupdateHideShowVideoplayerButtons();

      controlBar_classicupdateHideShowThumbnailsButtons();
  </action>

  <layer name="controlBar_classichelpScreen" align="center" keep="true" onclick="controlBar_classiccloseHelp();" url="%FIRSTXML%/graphics/classiccontrolbar/help_screen_bg.png" visible="false" zorder="97" height="10%" width="prop" />

  <layer name="controlBar_classichelpScreenFg" align="center" keep="true" onclick="controlBar_classiccloseHelp();" displayed="false" 
         url="%FIRSTXML%/graphics/classiccontrolbar/help_screen_fg.png" 
         alpha="0.8" 
         height="50%" 
         width="prop" 
         zorder="98"
         visible="false" />
  <action name="controlBar_classicdisplayHelp">
    set(layer[controlBar_classichelpScreenFg].displayed,true);
    set(layer[controlBar_classichelpScreen].visible,true);
    tween(layer[controlBar_classichelpScreen].height, 50%, 1, easeOutQuad,
      set(layer[controlBar_classichelpScreenFg].visible,true);
    );
    controlBar_classicupdateHelpButtons();
  </action>
  <action name="controlBar_classiccloseHelp">
    set(layer[controlBar_classichelpScreenFg].displayed,false);
    set(layer[controlBar_classichelpScreenFg].visible,false);
    tween(layer[controlBar_classichelpScreen].height, 10%, 1, easeOutQuad,
      set(layer[controlBar_classichelpScreen].visible,false);
    );
    controlBar_classicupdateHelpButtons();
  </action>
	<action name="controlBar_classicHideHelpButtons">
		set(layer[controlBar_classicbtn_display_help].visible, false);
		set(layer[controlBar_classicbtn_close_help].visible, false);
	</action>
	<action name="controlBar_classicShowHelpButtons">
		if (layer[controlBar_classichelpScreenFg].displayed,
			set(layer[controlBar_classicbtn_close_help].visible, true);
			set(layer[controlBar_classicbtn_display_help].visible, false);
		,
			set(layer[controlBar_classicbtn_display_help].visible, true);
			set(layer[controlBar_classicbtn_close_help].visible, false);
		);
	</action>
	<action name="controlBar_classicupdateHelpButtons">
	if (device.desktop,
		if (controlBar_classicIsOpened,
			controlBar_classicShowHelpButtons();
		,
			controlBar_classicHideHelpButtons();
		);
	,
		controlBar_classicHideHelpButtons();
	);
	</action>



	<events name="controlBar_classicmenufullscreenchangeevent"
		onenterfullscreen="controlBar_classicupdateFullscreenButtons();"
		onexitfullscreen="controlBar_classicupdateFullscreenButtons();"
		keep="true"/>
	<action name="controlBar_classicHideFullscreenButtons">
		set(layer[controlBar_classicbtn_openfs].visible , false);
		set(layer[controlBar_classicbtn_closefs].visible, false);
	</action>
	<action name="controlBar_classicShowFullscreenButtons">
		if (device.fullscreensupport,
			if(tour_fullscreen,
				set(layer[controlBar_classicbtn_openfs].visible , false);
				set(layer[controlBar_classicbtn_closefs].visible, true);
			,
				set(layer[controlBar_classicbtn_openfs].visible ,true);
				set(layer[controlBar_classicbtn_closefs].visible,false);
			);
		,
			controlBar_classicHideFullscreenButtons();
		);
	</action>
	<action name="controlBar_classicupdateFullscreenButtons">
		if (controlBar_classicIsOpened,
			controlBar_classicShowFullscreenButtons();
		,
			controlBar_classicHideFullscreenButtons();
		);
	</action>

	<events name="controlBar_classicAutorotationEvents"
		onstartautorotation="controlBar_classicupdateAutorotationButtons();"
		onresumeautorotation="controlBar_classicupdateAutorotationButtons();"
		onstopautorotation="controlBar_classicupdateAutorotationButtons();"
		onpauseautorotation="controlBar_classicupdateAutorotationButtons();"
		keep="true"/>
	<action name="controlBar_classicHideAutorotationButtons">
		set(layer[controlBar_classicbtn_autorotate_off].visible, false);
		set(layer[controlBar_classicbtn_autorotate_on].visible , false);
	</action>
	<action name="controlBar_classicShowAutorotationButtons">
		if(autorotate.enabled == false,
			set(layer[controlBar_classicbtn_autorotate_off].visible, false);
			set(layer[controlBar_classicbtn_autorotate_on].visible , true);
		,
			set(layer[controlBar_classicbtn_autorotate_off].visible, true);
			set(layer[controlBar_classicbtn_autorotate_on].visible , false);
		);
	</action>
	<action name="controlBar_classicupdateAutorotationButtons">
		if (controlBar_classicIsOpened,
			controlBar_classicShowAutorotationButtons();
		,
			controlBar_classicHideAutorotationButtons();
		);
	</action>


    <events name="controlBar_classichideshowvideoplayerevent" onplayvideointerface="controlBar_classicupdateHideShowVideoplayerButtons();" onpausevideointerface="controlBar_classicupdateHideShowVideoplayerButtons();" keep="true"/>
    <action name="controlBar_classicHideHideShowVideoplayerButtons">
      if(controlBar_classicbackgroundwidthwhenopened GT 0,
        add(controlBar_classicVerifyVisibility, 20, 20);
        if(controlBar_classicbackgroundwidthwhenopenedwithoutvideo LE controlBar_classicVerifyVisibility,
          set(layer[controlBar_classicmenu_controlbar_bg_img].visible,false);
          set(layer[controlBar_classicmenu_controlbar_bg].visible,false);
        );
        tween(layer[controlBar_classicmenu_controlbar_bg_img].width,get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo),0.5,easeOutQuad);
        tween(layer[controlBar_classicmenu_controlbar_bg].width,get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo),0.5,easeOutQuad);
      ,
        set(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
        set(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
      );
      set(layer[controlBar_classicbtn_play_video].visible, false);
      set(layer[controlBar_classicbtn_pause_video].visible, false);
    </action>
    <action name="controlBar_classicShowHideShowVideoplayerButtons">
      if(controlBar_classic_use_videoplayer_interface,
        if (plugin[get(videointerface_video)],
        add(controlBar_classicVerifyVisibility, 20, 20);
        if(controlBar_classicbackgroundwidthwhenopenedwithoutvideo LE controlBar_classicVerifyVisibility,
          set(layer[controlBar_classicmenu_controlbar_bg_img].visible,true);
          set(layer[controlBar_classicmenu_controlbar_bg].visible,true);
        );
        if (plugin[get(videointerface_video)].ispaused,
          if(controlBar_classicbackgroundwidthwhenopened GT 0,
            tween(layer[controlBar_classicmenu_controlbar_bg_img].width,get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);
            tween(layer[controlBar_classicmenu_controlbar_bg].width,get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);
          ,
            set(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
            set(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
          );
          set(layer[controlBar_classicbtn_play_video].visible, true);
          set(layer[controlBar_classicbtn_pause_video].visible, false);
        ,
          if(controlBar_classicbackgroundwidthwhenopened GT 0,
            tween(layer[controlBar_classicmenu_controlbar_bg_img].width,get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);
            tween(layer[controlBar_classicmenu_controlbar_bg].width,get(controlBar_classicbackgroundwidthwhenopened),0.5,easeOutQuad);
          ,
            set(layer[controlBar_classicmenu_controlbar_bg_img].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
            set(layer[controlBar_classicmenu_controlbar_bg].width, get(controlBar_classicbackgroundwidthwhenopenedwithoutvideo));
          );
          set(layer[controlBar_classicbtn_play_video].visible, false);
          set(layer[controlBar_classicbtn_pause_video].visible, true);
        ););
      ,
        controlBar_classicHideHideShowVideoplayerButtons();
      );
    </action>
    <action name="controlBar_classicupdateHideShowVideoplayerButtons">
      if (controlBar_classicIsOpened,
        controlBar_classicShowHideShowVideoplayerButtons();
      ,
        controlBar_classicHideHideShowVideoplayerButtons();
      );
    </action>
    
	<events name="controlBar_classicplaystopsoundsevent" 
		playtoursoundsevent="controlBar_classicupdateSoundButtons();" 
		stoptoursoundsevent="controlBar_classicupdateSoundButtons();" 
		keep="true" />
	<action name="controlBar_classicHideSoundButtons">
		set(layer[controlBar_classicbtn_sound_off].visible, false);
		set(layer[controlBar_classicbtn_sound_on].visible , false);
	</action>
	<action name="controlBar_classicShowSoundButtons">
		if (tour_soundson == false,
			set(layer[controlBar_classicbtn_sound_off].visible, false);
			set(layer[controlBar_classicbtn_sound_on].visible , true);
		,
			set(layer[controlBar_classicbtn_sound_off].visible, true);
			set(layer[controlBar_classicbtn_sound_on].visible , false);
		);
	</action>
	<action name="controlBar_classicupdateSoundButtons">
		if (controlBar_classicIsOpened,
			controlBar_classicShowSoundButtons();
		,
			controlBar_classicHideSoundButtons();
		);
	</action>


	<events name="controlBar_classichotspotsdisplayevents"
		hotspots_visibility_changed="controlBar_classicupdateHideShowHotspotsButtons"
		keep="true"/>
	<action name="controlBar_classicHideHideShowHotspotsButtons">
		set(layer[controlBar_classicbtn_show_hotspots].visible, false);
		set(layer[controlBar_classicbtn_hide_hotspots].visible, false);
	</action>
	<action name="controlBar_classicShowHideShowHotspotsButtons">
		if (tour_displayspots,
			set(layer[controlBar_classicbtn_hide_hotspots].visible, true);
			set(layer[controlBar_classicbtn_show_hotspots].visible, false);
		,
			set(layer[controlBar_classicbtn_show_hotspots].visible, true);
			set(layer[controlBar_classicbtn_hide_hotspots].visible, false);
		);
	</action>
	<action name="controlBar_classicupdateHideShowHotspotsButtons">
		if (controlBar_classicIsOpened,
			controlBar_classicShowHideShowHotspotsButtons();
		,
			controlBar_classicHideHideShowHotspotsButtons();
		);
	</action>

    <action name="controlBar_classicbtn_home_action">
      hideTooltip();lookto(get(panoview.h),get(panoview.v),get(panoview.fov),smooth(100,20,50));
      if(scene[get(xml.scene)].video,
        plugin[get(videointerface_video)].seek(0);
        ifnot(plugin[get(videointerface_video)].ispaused,
          plugin[get(videointerface_video)].play();
        );
      );
    </action>

<layer name="controlBar_classicmenuTooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	url="%FIRSTXML%/graphics/textfield.swf"
	align="center"
	background="false"
	border="false"
	textshadow="1" textshadowrange="4.0" textshadowangle="45" textshadowcolor="0x000000" textshadowalpha="1"
	css="color:#e6e6e6;font-family:Helvetica;font-weight:bold;font-size:14px;text-align:left;"
	height="20"
	autoheight="true"
	autowidth="auto"
	selectable="false"
	zorder="0"
	visible="false"
	html=""
	padding="2"
	xoffset="0"
	yoffset="0"
	edge="bottom"
	/>


<!-- ********** -->
<!-- Menu contextuel -->
<!-- id : contextmenu -->
<!-- ********** -->
  <contextmenu fullscreen="false" versioninfo="false" touch="true">
    <item name="fullscreenentry" onclick="enterFullscreen();
" separator="true"/>
  </contextmenu>

  <events name="contextmenuevents" keep="true" 
    onenterfullscreen="updateContextMenu" onexitfullscreen="updateContextMenu" 
    onxmlcomplete="updateContextMenu" 
    changetourlanguage="updateContextMenu" 
    />
  <events name="contextmenuvrevents" keep="true" 
    onvravailable="updateContextMenu();" onvrunavailable="updateContextMenu();"
    devices="html5"
    />
  <action name="updateContextMenu">
    if (device.fullscreensupport,
      if(tour_fullscreen,
        getmessage(contextmenu.item[fullscreenentry].caption, contextmenucloseFsLabel);
        set(contextmenu.item[fullscreenentry].onclick, exitFullscreen();
);
       ,
        getmessage(contextmenu.item[fullscreenentry].caption, contextmenuopenFsLabel);
        set(contextmenu.item[fullscreenentry].onclick, enterFullscreen();
);
      );
     ,
      set(contextmenu.item[fullscreenentry].visible, false);
    );
  </action>


  <events name="Bootstrap_External_Commandsevents" onnewpano="Bootstrap_External_Commandsonp();" keep="true"/>
  <action name="Bootstrap_External_Commandsonp">
  	js(updatePanorama(get(xml.scene)););
  </action>

<!-- ********** -->
<!-- Partage Social -->
<!-- id : socialShare -->
<!-- ********** -->

<ptplugin name="socialShare" engine="kolorBox">
	<settings>
		<option name="position" value="topleft" type="string" />
		<option name="margin_x" value="50" type="int" />
		<option name="margin_y" value="50" type="int" />
		<option name="external_padding" value="15" type="int" />
		<option name="animate" value="false" type="bool" />
		<option name="draggable_box" value="false" type="bool" />
		<option name="container_auto_size" value="true" type="bool" />
		<option name="container_color" value="ffffff" type="string" />
		<option name="container_alpha" value="0.80000000000000004" type="float" />
		<option name="container_topleft_border_radius" value="15" type="int" />
		<option name="container_topright_border_radius" value="15" type="int" />
		<option name="container_bottomleft_border_radius" value="15" type="int" />
		<option name="container_bottomright_border_radius" value="15" type="int" />
		<option name="container_border_width" value="0" type="int" />
		<option name="container_border_color" value="ffffff" type="string" />
		<option name="container_border_alpha" value="1" type="float" />
		<option name="overlay_displayed" value="false" type="bool" />
		<option name="overlay_color" value="000000" type="string" />
		<option name="overlay_alpha" value="0.50000762951094835" type="float" />

		<option name="social_btn" value="facebook#twitter#google#linkedin#email" type="string" />
		<option name="social_orientation" value="horizontal" type="string" />
		<option name="social_btn_size" value="64" type="int" />
		<option name="inner_margin" value="10" type="int" />
		
		
		<option name="title_displayed" value="false" type="bool" />
		<option name="caption_displayed" value="false" type="bool" />
		<option name="close_displayed" value="true" type="bool" />
		<option name="close_position" value="topright" type="string" />
		<option name="close_text" value="socialShareclose_text" type="string" />

		<option name="close_callback" value="invokeKrFunction('closeKolorBoxCallback_socialShare')" type="string" />
		<option name="zorder" value="9" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	<internaldata>
		
	</internaldata>
</ptplugin>

<action name="kolorBoxJsReady_socialShare">
	set(ptplugin[socialShare].jsready, true);

</action>



<action name="showSocialShare_socialShare">
	ifnot(ptplugin[socialShare].isOpen,
		set(ptplugin[socialShare].isOpen, true);
		pauseautorotation(forceplugin);

			js(invokePluginFunction(socialShare, loadSingleArrayItem, social));
		events.dispatch(onremovedisplayedobject);
	);
</action>

<action name="toggleSocialShare_socialShare">
	js(invokePluginFunction(socialShare, toggleKolorBox, %1));
</action>


<action name="closeKolorBox_socialShare">
	js(invokePluginFunction(socialShare, closeKolorBox));
</action>

<action name="closeKolorBoxCallback_socialShare">
	resumeautorotation(forceplugin);

	
	set(ptplugin[socialShare].isOpen, false);
</action>

<action name="changeLanguage_socialShare">
	if(ptplugin[socialShare].jsready,
		js(invokePluginFunction(socialShare, changeLanguage));
	);
</action>

<events name="kolorBoxEvents_socialShare" 
	keep="true"
	onsharetour="showSocialShare_socialShare();" 
	
	
	changetourlanguage="changeLanguage_socialShare();"
	/>

<!-- ********** -->
<!-- Description -->
<!-- id : description -->
<!-- ********** -->

<ptplugin name="description" canStart="false" newPano="false" openatstart="false" mode="spot" startMethod="" engine="kolorArea">
	<settings>
		<option name="position" value="left" type="string" />
		<option name="start_position" value="left" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="0" type="int" />
		<option name="background_color" value="f2f2f2" type="string" />
		<option name="background_alpha" value="1" type="float" />
		<option name="topleft_radius" value="0" type="int" />
		<option name="topright_radius" value="0" type="int" />
		<option name="bottomleft_radius" value="0" type="int" />
		<option name="bottomright_radius" value="0" type="int" />
		<option name="area_border_width" value="0" type="int" />
		<option name="area_border_color" value="f2f2f2" type="string" />
		<option name="area_border_alpha" value="1" type="float" />
		<option name="padding" value="15" type="int" />
		<option name="display_title" value="false" type="bool" />
		<option name="close_displayed" value="false" type="bool" />
		<option name="close_text" value="descriptiondisplay_close_text" type="string" />

		<option name="overlay_displayed" value="true" type="bool" />
		<option name="overlay_color" value="000000" type="string" />
		<option name="overlay_alpha" value="0.50000762951094835" type="float" />

		<option name="area_width" value="20" type="int" />
		<option name="area_height" value="100" type="int" />
		<option name="area_width_unit" value="percent" type="string" />
		<option name="area_height_unit" value="percent" type="string" />
		<option name="animation" value="false" type="bool" />
		<option name="animation_duration" value="500" type="int" />
		<option name="refresh_content" value="true" type="bool" />
		<option name="close_callback" value="invokeKrFunction('closeKolorAreaCallback_description')" type="string" />
		<option name="close_on_click" value="false" type="bool" />
		<option name="zorder" value="10" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
</ptplugin>

<action name="kolorAreaJsReady_description">
	set(ptplugin[description].jsready, true);

</action>


<action name="openKolorArea_description">
	ifnot(ptplugin[description].isOpen,
		set(ptplugin[description].isOpen, true);
		
		js(showKolorArea(description, get(ptplugin[description].descID)));
		events.dispatch(onremovedisplayedobject);
	);
</action>

<action name="closeKolorArea_description">
	if(ptplugin[description].isOpen,
		js(invokePluginFunction(description, closeKolorArea));
	);
</action>

<action name="toggleKolorArea_description">
	if(ptplugin[description].isOpen,
		closeKolorArea_description();
	,
		openKolorArea_description();
	);
</action>

<action name="closeKolorAreaCallback_description">
	set(ptplugin[description].isOpen, false);
	if(tour_displayinfo,hideTourInfo();

	);
</action>



<action name="showKolorArea_description">
	ifnot(ptplugin[description].startMethod == "",
		delayedcall(0,get(ptplugin[description].startMethod));
	,
		set(ptplugin[description].isOpen, true);
		
		js(invokePluginFunction(description, showKolorArea, %1));
		events.dispatch(onremovedisplayedobject);
	);
</action>
	
<action name="hideKolorArea_description">
	
	set(ptplugin[description].isOpen, false);
	js(invokePluginFunction(description, hideKolorArea, %1));
</action>

<action name="openDescription_description">
	openKolorArea_description();
</action>

<action name="openSpotDescription_description">
	set(ptplugin[description].descID, %1);
	openKolorArea_description();
</action>

<action name="closeDescription_description">
	set(ptplugin[description].currentGroup, false);
	if(%1,
		set(restore_description, true);
	,
		set(restore_description, false);
	);
	closeKolorArea_description();
</action> 

<action name="showDescription_description">
	if(ptplugin[description].canStart,
		if(ptplugin[description].descID != "",
			openDescription_description();
		,
			hideKolorArea_description(false);
		);
		set(ptplugin[description].startMethod, "");
	);
</action>



<action name="changeLanguage_description">
	if(ptplugin[description].jsready,
		stopdelayedcall(delay_description);
		js(invokePluginFunction(description, changeLanguage, true));
	,
		delayedcall(delay_description, 0.1, changeLanguage_description(););
	);
</action>

<events name="kolorAreaEvents_description" 
	keep="true"
	onTourStart="set(ptplugin[description].canStart, true);if(ptplugin[description].openatstart,showTourInfo();
);"
	onhidetourinfo="if(ptplugin[description].isOpen,closeDescription_description(false););"
	changetourlanguage="changeLanguage_description();"
/>

<!-- ********** -->
<!-- Lecteur de vidéo Web -->
<!-- id : webVideoViewer -->
<!-- ********** -->

<ptplugin name="webVideoViewer" engine="kolorBox">
	<settings>
		<option name="position" value="center" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="0" type="int" />
		<option name="external_padding" value="15" type="int" />
		<option name="draggable_box" value="false" type="bool" />
		<option name="container_auto_size" value="true" type="bool" />
		<option name="container_width" value="100" type="int" />
		<option name="container_width_unit" value="percent" type="string" />
		<option name="container_height" value="100" type="int" />
		<option name="container_height_unit" value="percent" type="string" />
		<option name="container_color" value="ffffff" type="string" />
		<option name="container_alpha" value="0.80000000000000004" type="float" />
		<option name="container_topleft_border_radius" value="15" type="int" />
		<option name="container_topright_border_radius" value="15" type="int" />
		<option name="container_bottomleft_border_radius" value="15" type="int" />
		<option name="container_bottomright_border_radius" value="15" type="int" />
		<option name="container_border_width" value="0" type="int" />
		<option name="container_border_color" value="ffffff" type="string" />
		<option name="container_border_alpha" value="1" type="float" />
		<option name="overlay_displayed" value="true" type="bool" />
		<option name="overlay_color" value="000000" type="string" />
		<option name="overlay_alpha" value="0.50000762951094835" type="float" />

		<option name="title_displayed" value="false" type="bool" />
		<option name="title_position" value="top" type="string" />
		<option name="title_font" value="Verdana" type="string" />
		<option name="title_size" value="14" type="int" />
		<option name="title_weight" value="normal" type="string" />
		<option name="title_style" value="normal" type="string" />
		<option name="title_decoration" value="none" type="string" />
		<option name="title_color" value="000000" type="string" />
		<option name="caption_displayed" value="false" type="bool" />
		<option name="video_autoplay" value="false" type="bool" />
		<option name="fullscreen_displayed" value="true" type="bool" />
		<option name="fullscreen_position" value="topleft" type="string" />
		<option name="fullscreen_text" value="webVideoViewerfullscreen_text" type="string" />




		<option name="close_displayed" value="true" type="bool" />
		<option name="close_position" value="topright" type="string" />
		<option name="close_text" value="webVideoViewerclose_text" type="string" />

		<option name="close_callback" value="invokeKrFunction('closeKolorBoxCallback_webVideoViewer')" type="string" />
		<option name="zorder" value="11" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	<internaldata>
		
	</internaldata>
</ptplugin>

<action name="kolorBoxJsReady_webVideoViewer">
	set(ptplugin[webVideoViewer].jsready, true);
</action>

<action name="openWebVideo_webVideoViewer">
	ifnot(ptplugin[webVideoViewer].isOpen,
		if(ptplugin[webVideoViewer].doNotDeleteMe,
			set(ptplugin[webVideoViewer].currentCall, false);
		set(ptplugin[webVideoViewer].isOpen, true);
		set(ptplugin[webVideoViewer].doNotDeleteMe, false);
		pauseautorotation(forceplugin);

		stopTourSounds();

		getmessage(webVideoViewer_boxurl, %1);
		js(invokePluginFunction(webVideoViewer, loadSingleArrayItem, get(webVideoViewer_boxurl), %2));
		,
			set(ptplugin[webVideoViewer].currentCall, true);
			set(ptplugin[webVideoViewer].doNotDeleteMe, true);
			events.dispatch(onremovedisplayedobject);
			delayedcall(0.3,openWebVideo_webVideoViewer(%1,%2););
		);
	,
		if('%1' != webVideoViewer_boxurl,
			closeKolorBox_webVideoViewer();
			delayedcall(0.3,openWebVideo_webVideoViewer(%1,%2););
		);
	);
</action>

<action name="toggleWebVideo_webVideoViewer">
	js(invokePluginFunction(webVideoViewer, toggleKolorBox, %1));
</action>


<action name="closeKolorBox_webVideoViewer">
	if(ptplugin[webVideoViewer].doNotDeleteMe,
		set(ptplugin[webVideoViewer].doNotDeleteMe, false);
	,
	js(invokePluginFunction(webVideoViewer, closeKolorBox));
	);
</action>

<action name="closeKolorBoxCallback_webVideoViewer">
	resumeautorotation(forceplugin);

	playTourSounds();

	set(ptplugin[webVideoViewer].doNotDeleteMe, false);
	set(ptplugin[webVideoViewer].isOpen, false);
</action>

<action name="changeLanguage_webVideoViewer">
	if(ptplugin[webVideoViewer].jsready,
		stopdelayedcall(delay_webVideoViewer);
		js(invokePluginFunction(webVideoViewer, changeLanguage));
	,
		delayedcall(delay_webVideoViewer, 0.1, changeLanguage_webVideoViewer(););
	);
</action>

<events name="kolorBoxEvents_webVideoViewer" 
	keep="true" 
	onremovepano="if(ptplugin[webVideoViewer].isOpen,closeKolorBox_webVideoViewer(););"
	onremovedisplayedobject="ifnot(ptplugin[webVideoViewer].currentCall,if(ptplugin[webVideoViewer].isOpen,closeKolorBox_webVideoViewer();););"
	changetourlanguage="changeLanguage_webVideoViewer();"
	/>

<!-- ********** -->
<!-- Galerie de la bretêche -->
<!-- id : gallery -->
<!-- ********** -->

<ptplugin name="gallery" engine="kolorBox">
	<settings>
		<option name="position" value="center" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="0" type="int" />
		<option name="external_padding" value="15" type="int" />
		<option name="draggable_box" value="false" type="bool" />
		<option name="slideshow_autoplay" value="false" type="bool" />
		<option name="slideshow" value="5000" type="int" />
		<option name="container_auto_size" value="true" type="bool" />
		<option name="container_width" value="100" type="int" />
		<option name="container_width_unit" value="percent" type="string" />
		<option name="container_height" value="100" type="int" />
		<option name="container_height_unit" value="percent" type="string" />
		<option name="container_color" value="ffffff" type="string" />
		<option name="container_alpha" value="0.80000000000000004" type="float" />
		<option name="container_topleft_border_radius" value="15" type="int" />
		<option name="container_topright_border_radius" value="15" type="int" />
		<option name="container_bottomleft_border_radius" value="15" type="int" />
		<option name="container_bottomright_border_radius" value="15" type="int" />
		<option name="container_border_width" value="0" type="int" />
		<option name="container_border_color" value="ffffff" type="string" />
		<option name="container_border_alpha" value="1" type="float" />
		<option name="overlay_displayed" value="true" type="bool" />
		<option name="overlay_color" value="000000" type="string" />
		<option name="overlay_alpha" value="0.50000762951094835" type="float" />

		<option name="item_border_width" value="0" type="int" />
		<option name="item_border_color" value="ffffff" type="string" />
		<option name="item_border_alpha" value="1" type="float" />
		
		<option name="title_displayed" value="false" type="bool" />
		
		<option name="caption_displayed" value="false" type="bool" />
		
		<option name="play_displayed" value="true" type="bool" />
		<option name="play_position" value="bottomleft" type="string" />
		<option name="play_text" value="galleryplay_text" type="string" />




		<option name="navigation_displayed" value="true" type="bool" />
		<option name="navigation_position" value="bottom" type="string" />
		<option name="counter_color" value="666666" type="string" />
		<option name="navprev_text" value="gallerynavprev_text" type="string" />
		<option name="navnext_text" value="gallerynavnext_text" type="string" />




		<option name="navigation_arrows" value="true" type="bool" />




		<option name="fullscreen_displayed" value="true" type="bool" />
		<option name="fullscreen_position" value="topleft" type="string" />
		<option name="fullscreen_text" value="galleryfullscreen_text" type="string" />




		<option name="close_displayed" value="true" type="bool" />
		<option name="close_position" value="topright" type="string" />
		<option name="close_text" value="galleryclose_text" type="string" />

		<option name="close_callback" value="invokeKrFunction('closeKolorBoxCallback_gallery')" type="string" />
		<option name="zorder" value="12" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	<internaldata>
		<item name="item_1" title="gallerypicture_title0" caption="gallerypicture_caption0" value="indexdata/graphics/gallery/d50_7694.jpg"/>
		<item name="item_2" title="gallerypicture_title1" caption="gallerypicture_caption1" value="indexdata/graphics/gallery/d50_8550.jpg"/>
		<item name="item_3" title="gallerypicture_title2" caption="gallerypicture_caption2" value="indexdata/graphics/gallery/dji_0210.jpg"/>
		<item name="item_4" title="gallerypicture_title3" caption="gallerypicture_caption3" value="indexdata/graphics/gallery/img_1811.jpg"/>
		<item name="item_5" title="gallerypicture_title4" caption="gallerypicture_caption4" value="indexdata/graphics/gallery/img_1812.jpg"/>
		<item name="item_6" title="gallerypicture_title5" caption="gallerypicture_caption5" value="indexdata/graphics/gallery/img_1814.jpg"/>
	</internaldata>
</ptplugin>

<action name="kolorBoxJsReady_gallery">
	set(ptplugin[gallery].jsready, true);
</action>

<action name="showGallery_gallery">
	ifnot(ptplugin[gallery].isOpen,
		set(ptplugin[gallery].isOpen, true);
		set(ptplugin[gallery].doNotDeleteMe, false);
		set(gallery_boxurl, %1);
		pauseautorotation(forceplugin);

		js(invokePluginFunction(gallery, openKolorBox, %1));
		events.dispatch(onremovedisplayedobject);
	,
		if(%1 !== null AND %1 != gallery_boxurl,
			closeKolorBox_gallery();
			delayedcall(0.3,showGallery_gallery(%1););
		);
	);
</action>

<action name="toggleGallery_gallery">
	js(invokePluginFunction(gallery, toggleKolorBox, %1));
</action>


<action name="closeKolorBox_gallery">
	js(invokePluginFunction(gallery, closeKolorBox));
</action>

<action name="closeKolorBoxCallback_gallery">
	resumeautorotation(forceplugin);

	set(ptplugin[gallery].isOpen, false);
</action>

<action name="changeLanguage_gallery">
	if(ptplugin[gallery].jsready,
		js(invokePluginFunction(gallery, changeLanguage));
	,
		delayedcall(delay_gallery, 0.1, changeLanguage_gallery(););
	);
</action>

<events name="kolorBoxEvents_gallery" 
	keep="true"
	changetourlanguage="changeLanguage_gallery();"
	/>

<!-- ********** -->
<!-- Galerie1 -->
<!-- id : gallery1 -->
<!-- ********** -->

<ptplugin name="gallery1" engine="kolorBox">
	<settings>
		<option name="position" value="center" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="0" type="int" />
		<option name="external_padding" value="15" type="int" />
		<option name="draggable_box" value="false" type="bool" />
		<option name="slideshow_autoplay" value="false" type="bool" />
		<option name="slideshow" value="5000" type="int" />
		<option name="container_auto_size" value="true" type="bool" />
		<option name="container_width" value="100" type="int" />
		<option name="container_width_unit" value="percent" type="string" />
		<option name="container_height" value="100" type="int" />
		<option name="container_height_unit" value="percent" type="string" />
		<option name="container_color" value="ffffff" type="string" />
		<option name="container_alpha" value="0.80000000000000004" type="float" />
		<option name="container_topleft_border_radius" value="15" type="int" />
		<option name="container_topright_border_radius" value="15" type="int" />
		<option name="container_bottomleft_border_radius" value="15" type="int" />
		<option name="container_bottomright_border_radius" value="15" type="int" />
		<option name="container_border_width" value="0" type="int" />
		<option name="container_border_color" value="ffffff" type="string" />
		<option name="container_border_alpha" value="1" type="float" />
		<option name="overlay_displayed" value="true" type="bool" />
		<option name="overlay_color" value="000000" type="string" />
		<option name="overlay_alpha" value="0.50000762951094835" type="float" />

		<option name="item_border_width" value="0" type="int" />
		<option name="item_border_color" value="ffffff" type="string" />
		<option name="item_border_alpha" value="1" type="float" />
		
		<option name="title_displayed" value="false" type="bool" />
		
		<option name="caption_displayed" value="false" type="bool" />
		
		<option name="play_displayed" value="true" type="bool" />
		<option name="play_position" value="bottomleft" type="string" />
		<option name="play_text" value="gallery1play_text" type="string" />




		<option name="navigation_displayed" value="true" type="bool" />
		<option name="navigation_position" value="bottom" type="string" />
		<option name="counter_color" value="666666" type="string" />
		<option name="navprev_text" value="gallery1navprev_text" type="string" />
		<option name="navnext_text" value="gallery1navnext_text" type="string" />




		<option name="navigation_arrows" value="true" type="bool" />




		<option name="fullscreen_displayed" value="true" type="bool" />
		<option name="fullscreen_position" value="topleft" type="string" />
		<option name="fullscreen_text" value="gallery1fullscreen_text" type="string" />




		<option name="close_displayed" value="true" type="bool" />
		<option name="close_position" value="topright" type="string" />
		<option name="close_text" value="gallery1close_text" type="string" />

		<option name="close_callback" value="invokeKrFunction('closeKolorBoxCallback_gallery1')" type="string" />
		<option name="zorder" value="13" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	<internaldata>
		<item name="item_1" title="gallery1picture_title0" caption="gallery1picture_caption0" value="indexdata/graphics/gallery1/"/>
	</internaldata>
</ptplugin>

<action name="kolorBoxJsReady_gallery1">
	set(ptplugin[gallery1].jsready, true);
</action>

<action name="showGallery_gallery1">
	ifnot(ptplugin[gallery1].isOpen,
		set(ptplugin[gallery1].isOpen, true);
		set(ptplugin[gallery1].doNotDeleteMe, false);
		set(gallery1_boxurl, %1);
		pauseautorotation(forceplugin);

		js(invokePluginFunction(gallery1, openKolorBox, %1));
		events.dispatch(onremovedisplayedobject);
	,
		if(%1 !== null AND %1 != gallery1_boxurl,
			closeKolorBox_gallery1();
			delayedcall(0.3,showGallery_gallery1(%1););
		);
	);
</action>

<action name="toggleGallery_gallery1">
	js(invokePluginFunction(gallery1, toggleKolorBox, %1));
</action>


<action name="closeKolorBox_gallery1">
	js(invokePluginFunction(gallery1, closeKolorBox));
</action>

<action name="closeKolorBoxCallback_gallery1">
	resumeautorotation(forceplugin);

	set(ptplugin[gallery1].isOpen, false);
</action>

<action name="changeLanguage_gallery1">
	if(ptplugin[gallery1].jsready,
		js(invokePluginFunction(gallery1, changeLanguage));
	,
		delayedcall(delay_gallery1, 0.1, changeLanguage_gallery1(););
	);
</action>

<events name="kolorBoxEvents_gallery1" 
	keep="true"
	changetourlanguage="changeLanguage_gallery1();"
	/>

  <action name="enableGyroscope">
    changeGyroscopeState(true);
  </action>
  <action name="disableGyroscope">
    changeGyroscopeState(false);
  </action>


  <!-- Hide / Show Thumbnails -->
  <action name="hideTourThumbnails">set(tour_displaythumbnails, false);events.dispatch(hidetourthumbnails);</action>
  <action name="showTourThumbnails">set(tour_displaythumbnails, true); events.dispatch(showtourthumbnails);</action>


	<!-- WebVR plugin for VR availability tests -->

	<plugin name="ptpvrmode" devices="html5" keep="true"
		url="%FIRSTXML%/graphics/webvr.js"
		mobilevr_support="true"
		mobilevr_fake_support="false"
		vr_cursor=""
		vr_cursor_enabled="false"
		onavailable="delayedcall(1, checkVrAvailability(););"
		onunavailable="checkVrUnavailable();"
		/>
	<action name="checkVrAvailability">
		if(plugin[ptpvrmode],
			if (plugin[ptpvrmode].isavailable,
				set(tour_vrdevices, true);
				events.dispatch(onvravailable);
			,
				set(tour_vrdevices, false);
			);
		,
			checkVrUnavailable();
		);
	</action>
	<action name="checkVrUnavailable">
		set(tour_vrdevices, false);
		events.dispatch(onvrunavailable);
	</action>
<action name="viewControlZoomIn">
	if(%1,
		if(%2,
			if(%2 LT view.fovmin,
				zoomto(get(view.fovmin));
			,
				if(%2 LT view.fov,
					zoomto(%2);
				);
			);
		,
			set(fov_moveforce, -1);
			delayedcall(0.1, viewControlZoomStop());
		);
	,
		set(fov_moveforce, -1);
	);
</action>
<action name="viewControlZoomOut">
	if(%1,
		if(%2,
			if(%2 GT view.fovmax,
				zoomto(get(view.fovmax));
			,
				if(%2 GT view.fov,
					zoomto(%2);
				);
			);
		,
			set(fov_moveforce, +1);
			delayedcall(0.1, viewControlZoomStop());
		);
	,
		set(fov_moveforce, +1);
	);
</action>
<action name="viewControlZoomStop">
	set(fov_moveforce, 0);
</action>

  <!-- Sounds Management -->
  <plugin name="soundinterface"
          preload="true"
          url="%FIRSTXML%/graphics/soundinterface.js"
          rootpath="%$videos_sounds_path%/sounds"
          backgroundsound=""
          backgroundsoundloops="0"
          bgsound="false"
          bgsoundpaused="false"
          bgsoundloopended="false"
          volumeinitialized="false"
          started="true"
          keep="true"/>
  <events name="soundmanagementevents"
          onnewpano="if(plugin[soundinterface].started,playbackgroundsound(););"
          onxmlcomplete="soundinterfaceonxmlcomplete();"
          keep="true"/>
  <action name="soundinterfaceonxmlcomplete">
    ifnot(plugin[soundinterface].volumeinitialized,
      div(plugin[soundinterface].volume, tour_soundsvolume, 100);
      set(plugin[soundinterface].volumeinitialized,true);
    );
  </action>
  <action name="playsound3Dwhenpossible">
    set(really_play_sound, true);
    if (tour_current_played_sound,
      if (%1 == tour_current_played_sound,
        delete(tour_current_played_sound);
        set(tour_current_played_sound_state, 0);
        delete(tour_current_played_sound_paused);
        stopsound(%1);
        set(really_play_sound, false);
        if(%4,
          delete(tour_current_played_sound_pausesound);
          resumeTourSoundsActions(true,true,true,true,true);
        );
      );
    );
    if (really_play_sound,
      if (tour_current_played_sound,
        stopsound(get(tour_current_played_sound));

        ifnot(%4,
          if(tour_current_played_sound_pausesound,
            delete(tour_current_played_sound_pausesound);
            resumeTourSoundsActions(true,true,true,true,true);
          );
        );
      );
      if(%4,
        set(tour_current_played_sound_pausesound, true);
        pauseTourSoundsActions(true,false,true,true,true);
      );
      set(tour_current_played_sound, %1);
      if(tour_current_played_video,
        set(tour_current_played_sound_state, 2);
      ,
        set(tour_current_played_sound_state, 1);
      );
      set(tour_current_played_sound_paused, false);
      if (%3,
        if (device.flash,
          div(volume, tour_soundsvolume, 100);
          if(%9 != null,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8);
          );
        ,
          if(%9 != null,
            playsound(%1,%2,%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound(%1,%2,%8);
          );
        );
      ,
        if(%6 != null,
          playsound(%1,%2,%5,stopsound3Dwhenpossible(%1,%4));
        ,
          playsound(%1,%2,%5);
        );
      );

      ifnot(tour_soundson,
        set(tour_current_played_sound_paused, true);
        pausesound(%1);
      );
    );
  </action>
  <action name="stopsound3Dwhenpossible">
    if (%1 == tour_current_played_sound,
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
      delete(tour_current_played_sound_paused);

      ifnot(device.safari,
        stopsound(%1);
      );
      if(%2,
        delete(tour_current_played_sound_pausesound);
        resumeTourSoundsActions(true,true,true,true,true);
      );
    );
  </action>
  <action name="playbackgroundsound">
  if(playsound,
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound,
        if (plugin[soundinterface].backgroundsound != scene[get(xml.scene)].backgroundsound,
          copy(plugin[soundinterface].backgroundsound, scene[get(xml.scene)].backgroundsound);
          copy(plugin[soundinterface].backgroundsoundloops, scene[get(xml.scene)].backgroundsoundloops);
          if (tour_soundson,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            if(plugin[soundinterface].backgroundsoundloops GT 0,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
            ,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
            );
           ,
            set(plugin[soundinterface].bgsound, false);
          );
        ,
          if (tour_soundson,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            );
          ,
            set(plugin[soundinterface].bgsound, false);
          );
        );
      );
    );
  ,
    delayedcall(0.2, playbackgroundsound());
  );
  </action>
  <action name="stopbackgroundsoundoncomplete">
    if (plugin[soundinterface].backgroundsound,
    if (plugin[soundinterface].backgroundsoundloops GT 0,

      set(plugin[soundinterface].backgroundsoundloops, 0);
      set(plugin[soundinterface].bgsound, false);
      set(plugin[soundinterface].bgsoundpaused, false);
      set(plugin[soundinterface].bgsoundloopended, true);
    );
    );
  </action>
  <action name="resetbackgroundsoundifneeded">
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound != scene[%1].backgroundsound,
        if(plugin[soundinterface].backgroundsound,
          stopsound(bgsoundname);
        );
        set(plugin[soundinterface].backgroundsound, "");
        set(plugin[soundinterface].backgroundsoundloops, 0);
        set(plugin[soundinterface].bgsound, false);
        set(plugin[soundinterface].bgsoundpaused, false);
        set(plugin[soundinterface].bgsoundloopended, false);
      );
    );
  </action>
  <action name="pausebackgroundsound">
    if(plugin[soundinterface].backgroundsound,
      if (plugin[soundinterface].bgsound,
        if(plugin[soundinterface].bgsoundpaused == false AND plugin[soundinterface].bgsoundloopended == false,
          pausesound(bgsoundname);
          set(plugin[soundinterface].bgsoundpaused, true);
        );
      );
    );
  </action>
  <action name="resumebackgroundsound">
    set(killBgSoundOnResume, true);
    set(forceBgSoundOnResume, true);
    if(layer[displayedStandardVideo],
    if(layer[displayedStandardVideo].pausebgsound AND tour_current_played_video,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(layer[webvideodisplay_player],
    if(layer[webvideodisplay_player].pausebgsound AND tour_current_played_web_video,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(tour_current_played_sound_pausesound AND tour_current_played_sound,
      set(killBgSoundOnResume, false);
    );
    ifnot(plugin[soundinterface].backgroundsound AND scene[get(xml.scene)].backgroundsound,
      set(killBgSoundOnResume, false);
    );
    if(videospots_playing GT 0,
      set(killBgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    );
    if(killBgSoundOnResume,
      if (plugin[soundinterface].backgroundsound,
        if (tour_soundson,
          if (plugin[soundinterface].bgsound AND plugin[soundinterface].bgsoundloopended == false,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            );
          ,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            if(plugin[soundinterface].backgroundsoundloops GT 0,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
            ,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
            );
          );
        );
      );
    ,
      if(forceBgSoundOnResume,
        playbackgroundsound();
      );
    );
  </action>
  <action name="preloadSounds">
    preloadsound("poudriere_01.mp3");
    preloadsound("tunnel_01.mp3");
    preloadsound("intro_salle_01_01.mp3");
    preloadsound("intro_salle_02_01.mp3");
    preloadsound("salle_4_intro.mp3");
    preloadsound("salle_5_intro.mp3");
    preloadsound("tour_a_canon_01.mp3");
    preloadsound("l_escalier.mp3");
    preloadsound("salle_01_maquette_centrale.mp3");
    preloadsound("salle_01_posidonie_01.mp3");
    preloadsound("cycle_de_l_eau_01_01.mp3");
    preloadsound("salle_02_crane.mp3");
    preloadsound("salle_3_fresque_au_sol_viticole.mp3");
    preloadsound("salle_3_fresque_au_sol_cabotage.mp3");
    preloadsound("salle_4_plan_fortifications.mp3");
    preloadsound("salle_5_logo_des_pn.mp3");
  </action>

  <action name="play3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, playpanolocalsounds();););
  </action>
  <action name="stop3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, stoppanolocalsounds();););
  </action>
  <action name="resume3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, 
      set(kill3dSoundOnResume, true);
      if(layer[displayedStandardVideo],
      if(layer[displayedStandardVideo].pausebgsound,
      if(tour_current_played_video,
        set(kill3dSoundOnResume, false);
      );););
      if(layer[webvideodisplay_player],
      if(layer[webvideodisplay_player].pausebgsound,
      if(tour_current_played_web_video,
        set(kill3dSoundOnResume, false);
      );););
      if(tour_current_played_sound_pausesound,
      if(tour_current_played_sound,
        set(kill3dSoundOnResume, false);
      ););
      if(kill3dSoundOnResume,
        resumepanolocalsounds();
      );
    ););
  </action>
  <action name="pause3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, pausepanolocalsounds();););
  </action>
  <action name="set3DLocalSoundsVolume">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, setpanolocalsoundsvolume();););
  </action>
  <action name="playTourSounds">
    set(tour_soundson, true);events.dispatch(playtoursoundsevent);
    resumeTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="stopTourSounds">
    set(tour_soundson, false);events.dispatch(stoptoursoundsevent);
    pauseTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="setTourSoundsVolume">
    set(tour_soundsvolume, %1);events.dispatch(changetoursoundsevent);
    div(volume, tour_soundsvolume, 100);
    set(plugin[soundinterface].volume, get(volume));
    set3DLocalSoundsVolume();
  </action>
  <action name="playTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        play3DLocalSounds();
        );
      );
    );
    if(%2,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
          resumebackgroundsound();
        );
      );
    );
  </action>
  <action name="stopTourSoundsActions">
    if(%1,
      stop3DLocalSounds();
    );
    if(%2,
      stopSoundActionsSounds();
    );
    if(%3,
      stopVideoActionsSounds();
    );
    if(%4,
      pausebackgroundsound();
    );
  </action>
  <action name="resumeTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        resume3DLocalSounds();
        );
      );
    );
    if(%2,
      resumeSoundActionsSounds();
    );
    if(%3,
      resumeVideoActionsSounds();
    );
    if(%4,
      if(%5,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      ,
        pausebackgroundsound();
      );
    );
  </action>
  <action name="pauseTourSoundsActions">
    if(%1,
      pause3DLocalSounds();
    );
    if(%2,
      pauseSoundActionsSounds();
    );
    if(%3,
      pauseVideoActionsSounds();
    );
    if(%4,
      if(%5,
        pausebackgroundsound();
      ,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      );
    );
  </action>
  <action name="stopSoundActionsSounds">
    if (tour_current_played_sound,
      delete(tour_current_played_sound_paused);
      stopsound(get(tour_current_played_sound));
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
    );
  </action>
  <action name="stopVideoActionsSounds">
    if(tour_current_played_video,
      if(layer[displayedStandardVideo],
        layer[displayedStandardVideo].stop();
        removelayer(displayedStandardVideo);
        if(layer[displayedStandardVideoOverlayButton], removelayer(displayedStandardVideoOverlayButton); );
        if(layer[displayedStandardVideoOverlay], removelayer(displayedStandardVideoOverlay); );
        delete(tour_current_played_video);
        set(tour_current_played_video_state, 0);
      );
    );
    if(tour_current_played_web_video,
      displayWebVideoObjectClose();
    );
  </action>
  <action name="resumeSoundActionsSounds">
    if (tour_current_played_sound,
      set(resumeSoundActionsVerification, true);
      if(tour_current_played_video,
        if(tour_current_played_sound_state LT tour_current_played_video_state,
          set(resumeSoundActionsVerification, false);
        );
      );
      if(resumeSoundActionsVerification,
        if (tour_soundson,
          if(tour_current_played_sound_paused,
            set(tour_current_played_sound_paused, false);
            resumesound(get(tour_current_played_sound));
          );
        );
      );
    );
  </action>
  <action name="resumeVideoActionsSounds">
    if(tour_current_played_video,
      set(resumeVideoActionsVerification, true);
      if(tour_current_played_sound,
        if(tour_current_played_video_state LT tour_current_played_sound_state,
          set(resumeVideoActionsVerification, false);
        );
      );
      if(resumeVideoActionsVerification,
        if (tour_soundson,
          div(volume, tour_soundsvolume, 100);
          if(device.flash,
            set(layer[displayedStandardVideo].volume, get(volume));
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.startVideosSounds(get(volume)));
            );
          );
        ,
          if(device.flash,
            set(layer[displayedStandardVideo].volume, 0);
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.stopVideosSounds());
            );
          );
        );
      );
    );
  </action>
  <action name="pauseSoundActionsSounds">
    if (tour_current_played_sound,
      ifnot(tour_current_played_sound_paused,
        set(tour_current_played_sound_paused, true);
        pausesound(get(tour_current_played_sound));
      );
    );
  </action>
  <action name="pauseVideoActionsSounds">
    if(tour_current_played_video,
      if(device.flash,
        set(layer[displayedStandardVideo].volume, 0);
      ,
        ifnot(device.ios,
          js(kpanotour.Sounds.stopVideosSounds());
        );
      );
    );
  </action>

<action name="viewControlMoveUp">
	if(%1,
		if(%2,
			set(isfullvertical, false);
			ifnot(scene[get(xml.scene)].planar,
				sub(viewvfov, panoview.vmax, panoview.vmin);
				if (viewvfov == 180,
					set(isfullvertical, true);
				);
			);
			if(isfullvertical == false AND calc(view.vlookat-%2) LT view.vlookatmin,
				moveto(get(view.hlookat), get(view.vlookatmin));
			,
				moveto(get(view.hlookat), calc(view.vlookat-%2));
			);
		,
			set(vlookat_moveforce, -1);
			delayedcall(0.1, viewControlMoveVertStop());
		);
	,
		set(vlookat_moveforce, -1);
	);
</action>
<action name="viewControlMoveDown">
	if(%1,
		if(%2,
			set(isfullvertical, false);
			ifnot(scene[get(xml.scene)].planar,
				sub(viewvfov, panoview.vmax, panoview.vmin);
				if (viewvfov == 180,
					set(isfullvertical, true);
				);
			);
			if(sceneisfull360 == false AND calc(view.vlookat+%2) GT view.vlookatmax,
				moveto(get(view.hlookat), get(view.vlookatmax));
			,
				moveto(get(view.hlookat), calc(view.vlookat+%2));
			);
		,
			set(vlookat_moveforce, +1);
			delayedcall(0.1, viewControlMoveVertStop());
		);
	,
		set(vlookat_moveforce, +1);
	);
</action>
<action name="viewControlMoveLeft">
	if(%1,
		if(%2,
			set(isfullhorizontal, false);
			ifnot(scene[get(xml.scene)].planar,
				sub(viewhfov, panoview.hmax, panoview.hmin);
				if (viewhfov == 360,
					set(isfullhorizontal, true);
				);
			);
			if(isfullhorizontal == false AND calc(view.hlookat-%2) LT view.hlookatmin,
				moveto(get(view.hlookatmin), get(view.vlookat));
			,
				moveto(calc(view.hlookat-%2), get(view.vlookat));
			);
		,
			set(hlookat_moveforce, -1);
			delayedcall(0.1, viewControlMoveHoriStop());
		);
	,
		set(hlookat_moveforce, -1);
	);
</action>
<action name="viewControlMoveRight">
	if(%1,
		if(%2,
			set(isfullhorizontal, false);
			ifnot(scene[get(xml.scene)].planar,
				sub(viewhfov, panoview.hmax, panoview.hmin);
				if (viewhfov == 360,
					set(isfullhorizontal, true);
				);
			);
			if(isfullhorizontal == false AND calc(view.hlookat+%2) GT view.hlookatmax,
				moveto(get(view.hlookatmax), get(view.vlookat));
			,
				moveto(calc(view.hlookat+%2), get(view.vlookat));
			);
		,
			set(hlookat_moveforce, +1);
			delayedcall(0.1, viewControlMoveHoriStop());
			
		);
	,
		set(hlookat_moveforce, +1);
	);
</action>
<action name="viewControlMoveHoriStop">
	set(hlookat_moveforce, 0);
</action>
<action name="viewControlMoveVertStop">
	set(vlookat_moveforce, 0);
</action>

  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);js(setFullscreen(false));</action>
  <action name="enterFullScreen" devices="fullscreensupport">set(tour_fullscreen,true);js(setFullscreen(true));</action>
  <action name="switchFullScreen">if(tour_fullscreen,exitFullScreen();,enterFullScreen(););</action>

  
  <events name="krpanoExitFullscreenEvent"
    onexitfullscreen="if(tour_fullscreen,exitFullScreenChangeEvent(););"
    keep="true" />

  <action name="exitFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,false);events.dispatch(onexitfullscreen);</action>
  <action name="enterFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,true);events.dispatch(onenterfullscreen);</action>
  <action name="exitFullScreenFallback">set(fullscreen,false);</action>
  <action name="enterFullScreenFallback">set(fullscreen,true);</action>
  
  <action name="resizeFullScreenEvent">delayedcall(0,updatescreen(););</action>

  <!-- Share Tour -->
  <action name="shareTour">events.dispatch(onsharetour);</action>

  <!-- Tour Information -->
  <action name="hideTourInfo">set(tour_displayinfo, false);events.dispatch(onhidetourinfo);</action>
  <action name="showTourInfo">set(tour_displayinfo, true); events.dispatch(onshowtourinfo);</action>


  <!-- Hide / Show Controls -->
  <action name="hideTourControls">set(tour_displaycontrols, false);events.dispatch(hidetourcontrols);</action>
  <action name="showTourControls">set(tour_displaycontrols, true); events.dispatch(showtourcontrols);</action>


</krpano>

Anon7 - 2022
AnonSec Team