<?xml version="1.0" encoding="UTF-8"?>
<krpano version="1.19-pr16">

    
  <!-- Spot Style - affiché informations -->


  <style name="Iconaffichéinformations"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint0.png"
         visible="false"
         frame="0"
         lastframe="13"
         framewidth="40"
         frameheight="60"
         stopspotsequence="false"
         crop="0|0|40|60"
         edge="center"
         zoom="true"

         alpha="0.8"
         onloaded="startspotanimation(0.1);if(scene[get(xml.scene)].planar,if(zoom,set(zoom, false);););"
         onhover="onhoverIconaffichéinformations"
         onover="onoverIconaffichéinformations"
         onout="onoutIconaffichéinformations"

         height="40"
         width="30"
         />
  <action name="onhoverIconaffichéinformations">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconaffichéinformations">
tween(scale, 1.2);
tween(alpha, 1);
pauseautorotation(forcehotspot);

  </action>
  <action name="onoutIconaffichéinformations">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);
resumeautorotation(forcehotspot);

  </action>



        
  <!-- Video Spot Style - Default Video Spot Style -->
  <style name="RectVideoDefaultVideoSpotStyle"
         capture="false"
         visible="false"
         distorted="true"
         scale="1.0"
         url.flash="%SWFPATH%/graphics/videoplayer.swf"
         url.html5="%FIRSTXML%/graphics/videoplayer.js"
         loop="true"
         autoresume="true"
         pausedonstart="true"
         pausedonstart.android="false"
         pauseothersounds="true"
         canstart="false"
         onhover="onhoverRectVideoDefaultVideoSpotStyle"
         onover="onoverRectVideoDefaultVideoSpotStyle"
         onout="onoutRectVideoDefaultVideoSpotStyle"
         onvideoready="onvideoreadyRectVideoDefaultVideoSpotStyle"
         />
  <style name="RectVideoDefaultVideoSpotStyle" 
    directionalsound="true" 
    range="90" 
    devices="flash" 
  />
  <style name="RectVideoDefaultVideoSpotStyle" 
    directionalsound="false" 
    devices="html5" 
  />
  <style name="RectVideoDefaultVideoSpotStyle" stateVideo="startplaying" devices="no-ios"/>
  <style name="RectVideoDefaultVideoSpotStyle" stateVideo="startpaused"  devices="ios"   />
  <style name="RectVideoDefaultVideoSpotStyle" stateVideo="startplaying" devices="ios10" />
  <action name="onhoverRectVideoDefaultVideoSpotStyle">
    showTooltip('hotspot');
  </action>
  <action name="onoverRectVideoDefaultVideoSpotStyle">pauseautorotation(forcehotspot);

  </action>
  <action name="onoutRectVideoDefaultVideoSpotStyle">
    hideTooltip();resumeautorotation(forcehotspot);

  </action>
  <action name="onvideoreadyRectVideoDefaultVideoSpotStyle">
    set(isVideoReadyForPlaying, false);
    if (isvideoready,
      if(panovideospotsstate,set(canstart, true););
      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 OR (device.webgl AND !device.ios),
      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());
        );
      );
    );
    ,

      delayedcall(0.5,onvideoreadyRectVideoDefaultVideoSpotStyle());
    );
  </action>



    
  <!-- Spot Style - Default Point Spot Style 1 -->


  <style name="IconDefaultPointSpotStyle1"
         url="%FIRSTXML%/spots/hotspot_neutral_sequence_user_defaultpoint1.png"
         visible="false"
         frame="0"
         lastframe="17"
         framewidth="70"
         frameheight="70"
         stopspotsequence="false"
         crop="0|0|70|70"
         edge="center"
         zoom="true"

         alpha="0.8"
         onloaded="startspotanimation(0.1);if(scene[get(xml.scene)].planar,if(zoom,set(zoom, false);););"
         onhover="onhoverIconDefaultPointSpotStyle1"
         onover="onoverIconDefaultPointSpotStyle1"
         onout="onoutIconDefaultPointSpotStyle1"

         height="30"
         width="30"
         />
  <action name="onhoverIconDefaultPointSpotStyle1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconDefaultPointSpotStyle1">
tween(scale, 1.2);
tween(alpha, 1);
pauseautorotation(forcehotspot);

  </action>
  <action name="onoutIconDefaultPointSpotStyle1">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);
resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - affiché image_1 -->


  <style name="Iconaffichéimage_1"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint01_2.png"
         visible="false"
         frame="0"
         lastframe="13"
         framewidth="40"
         frameheight="60"
         stopspotsequence="false"
         crop="0|0|40|60"
         edge="center"
         zoom="true"

         alpha="0.8"
         onloaded="startspotanimation(0.1);if(scene[get(xml.scene)].planar,if(zoom,set(zoom, false);););"
         onhover="onhoverIconaffichéimage_1"
         onover="onoverIconaffichéimage_1"
         onout="onoutIconaffichéimage_1"

         height="30"
         width="30"
         />
  <action name="onhoverIconaffichéimage_1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconaffichéimage_1">
tween(scale, 1.2);
tween(alpha, 1);
pauseautorotation(forcehotspot);

  </action>
  <action name="onoutIconaffichéimage_1">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);
resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - affiché informations 1 -->


  <style name="Iconaffichéinformations1"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint2.png"
         visible="false"
         frame="0"
         lastframe="13"
         framewidth="40"
         frameheight="60"
         stopspotsequence="false"
         crop="0|0|40|60"
         edge="center"
         zoom="true"

         alpha="0.8"
         onloaded="startspotanimation(0.1);if(scene[get(xml.scene)].planar,if(zoom,set(zoom, false);););"
         onhover="onhoverIconaffichéinformations1"
         onover="onoverIconaffichéinformations1"
         onout="onoutIconaffichéinformations1"

         height="40"
         width="30"
         />
  <action name="onhoverIconaffichéinformations1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconaffichéinformations1">
tween(scale, 1.2);
tween(alpha, 1);
pauseautorotation(forcehotspot);

  </action>
  <action name="onoutIconaffichéinformations1">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);
resumeautorotation(forcehotspot);

  </action>



<!-- ********** -->
<!-- Button -->
<!-- id : button -->
<!-- ********** -->

  <layer name="button"
         keep="true"
         url="%FIRSTXML%/graphics/button/sans_titre-4.gif"
         align="bottomleft"
         x="10"
         y="10"
         zorder="1"
         visible="false"
         onclick="buttonOnClick"
         alpha="0.7"
         tooltip="buttontooltip"
         onhover="showTooltip('plugin',buttonTooltipStyle);"
         onout="hideTooltip();tween(scale, 1.0,0.5,easeOutQuad);tween(alpha,0.7,0.5,easeOutQuad);"
         onover="tween(scale, 1.2,0.5,easeOutQuad);tween(alpha,1.0,0.5,easeOutQuad);"
         />



  <action name="buttonOnClick">playsound3Dwhenpossible(soundbutton, %$videos_sounds_path%/sounds/_0913_fontaine.mp3, false, true, 0);

  </action>

  <events name="buttonevents"
    onTourStart="showbutton();"
    hidetourcontrols="hidebutton();"
    showtourcontrols="showbutton();"
    keep="true" />
  <action name="hidebutton">set(layer[button].visible, false);</action>
  <action name="showbutton">if(tour_displaycontrols,set(layer[button].visible, true);,hidebutton(););</action>

<layer name="buttonTooltipStyle"
  keep="true"
  enabled="false"
  capture="false"
  type="text"
  align="center"
  bg="false"
  bgroundedge="5"
  bgborder="0"
  txtshadow="1.0 1.0 4.0 0x000000 1"
  css="color:#b7ae9e;font-family:Arial;font-weight:bold;font-size:24px;text-align:left;"
  interactivecontent="false"
  zorder="0"
  padding="2"
  xoffset="0"
  yoffset="0"
  visible="false"
  html=""
  edge="bottom"
/>

<!-- ********** -->
<!-- Titre -->
<!-- id : title -->
<!-- ********** -->

  <events name="title_events" 
    onTourStart="showtitle();"
    hidetourcontrols="hidetitle();" 
    showtourcontrols="showtitle();" 
    changetourlanguage="changeLanguagetitle"
    keep="true" />

  <action name="hidetitle">set(layer[title].visible, false);</action>
  <action name="showtitle">set(layer[title].visible, true );</action>

  <action name="changeLanguagetitle">
    getmessage(layer[title].html,get(projecttitleid));
    escape(layer[title].html);
  </action>

  <action name="titleOnClick">
getmessage(urltoopen,titleonclick105796openurlwebsiteurl);openurl(get(urltoopen),_blank);


  </action>
  <layer name="title" keep="true" zorder="2"
         type="text"
         align="top" x="0" y="10"
         onloaded="getmessage(html,get(projecttitleid));escape(html);"
         bg="false"
         bgborder="0"
         alpha="1"
         visible="false"
         capture="true" handcursor="true" enabled="true"
         onclick="titleOnClick"
         interactivecontent="false" 
         css="text-align:center;
              color:#b7ae9e;
              font-family:Arial;
              font-weight:bold;
              text-decoration:underline;
              font-size:36px;"/>

<!-- ********** -->
<!-- Logo -->
<!-- id : logo -->
<!-- ********** -->


  <hotspot ath="0" atv="90"
         zorder="0"
         zoom="true"
         name="logo"
         keep="true"
         visible="false"
         capture="false"

         url="%FIRSTXML%/graphics/logo/agriphoto.fr tres gros.gif" 
         handcursor="false"


         />

  <events name="logoevents" 
    onTourStart="showlogo();"
    keep="true" />

  <action name="hidelogo">
    set(hotspot[logo].visible, false);
  </action>
  <action name="showlogo">
      set(hotspot[logo].visible, true);
  </action>



  <events name="logoshowevents" onremovepano="hidelogo" onPanoStart="showlogo" keep="true"/>



<!-- ********** -->
<!-- Indicateur de Chargement -->
<!-- id : loaderinfo -->
<!-- ********** -->

  <events name="loaderinfoevent" onxmlcomplete="loaderinfoupdate();" keep="true"/>

  <action name="loaderinfoupdate">
    if(scene[get(xml.scene)].video,
      set(layer[loaderinfotextfield].visible, false);
    ,
      if (progress.progress == 1,
        delayedcall(0.5, set(layer[loaderinfotextfield].visible, false); );
      ,
        set(layer[loaderinfotextfield].visible, true);
      );
      mul(progresstext, get(progress.progress),100);
      roundval(progresstext);
      txtadd(progresstext, get(progresstext), %);
      set(layer[loaderinfotextfield].html, get(progresstext));
      ifnot(progress.progress GE 1, delayedcall(0.01, loaderinfoupdate() ));
    );
  </action>

  <layer name="loaderinfotextfield"
         keep="true"
         zorder="4"
         type="text"
         align="center"
         x="0"
         y="0"
         bgborder="0"
         bg="false"
         capture="false"
         handcursor="false"
         interactivecontent="false"
         alpha="1"
         visible="true"
         css="
         text-align:center;
         color:#b76231;
         font-family:Arial;
         font-weight:bold;
         font-size:48px;
         text-decoration:underline;
         "
  />

<!-- ********** -->
<!-- Logo1 -->
<!-- id : logo1 -->
<!-- ********** -->


  <layer align="topleft"
         x="10"
         y="10"
         zorder="5"
         name="logo1"
         keep="true"
         visible="false"
         capture="false"

			tooltip="logo1tooltipText"
			onhover="showTooltip('plugin',logo1TooltipStyle);"
			onout="hideTooltip();"
         url="%FIRSTXML%/graphics/logo1/logo_cantal_petit.jpg" 
         onclick="
getmessage(urltoopen,logo1websiteurl);openurl(get(urltoopen),_blank);
"


         />

  <events name="logo1events" 
    onTourStart="showlogo1();"
    keep="true" />

  <action name="hidelogo1">
    set(layer[logo1].visible, false);
  </action>
  <action name="showlogo1">
      set(layer[logo1].visible, true);
  </action>



<layer name="logo1TooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	type="text"
	align="center"
	bg="false"
	bgborder="0"
	css="color:#b76231;font-family:Arial;font-weight:bold;font-size:14px;text-align:left;"
	edge="bottom"
	interactivecontent="false"
	zorder="0"
	padding="2"
	xoffset="0"
	yoffset="0"
	visible="false"
	html=""
/>


<!-- ********** -->
<!-- Barre de contrôle iControl -->
<!-- id : controlBar_i -->
<!-- ********** -->

  <krpano controlBar_ibarbuilt="false" controlBar_ibackgroundwidthwhenclosed="0" controlBar_ibackgroundwidthwhenopened="0" controlBar_iIsOpened="false" />
  <events name="controlBar_ievents" 
    onxmlcomplete="controlBar_ibuildMenuBar();" 


    keep="true" />



  <action name="controlBar_ibuildMenuBar">
    ifnot (controlBar_ibarbuilt, controlBar_ibuildMenu(); set(controlBar_ibarbuilt, true););
  </action>

  <style name="controlBar_i_btn_style"
         keep="true"
         edge="right"
         align="right"
         x="0" y="0"
         width="40" height="40"
         crop="0|0|60|60"
         onovercrop="0|60|60|60"
         ondowncrop="0|120|60|60"
         onhover="showTooltip('plugin', controlBar_imenuTooltipStyle, bottom);"
         onout="hideTooltip();"
         />
  <style name="controlBar_i_btn_style_off"
         keep="true"
         edge="right"
         align="right"
         x="0" y="0"
         width="40" height="40"
         onhover="showTooltip('plugin', controlBar_imenuTooltipStyle, bottom);"
         onout="hideTooltip();"
         />

  <layer name="controlBar_i_menu_bg"
         keep="true"
         type="container"
         zorder="6"
         width="40"
         height="40"
         align="bottom"
         x="0" y="10"
         maskchildren="true"
         rotate="0"
         visible="false"
         >


    <layer name="controlBar_ibtn_ctrlmode_move_to"
            url="%FIRSTXML%/graphics/icontrolbar/btn_move_to.png"
            style="controlBar_i_btn_style"
            tooltip="controlBar_ictrlmodeMoveTip"
            onclick="setControlModeMoveTo();
"
            visible="false"
            devices="desktop"
            />
    <layer name="controlBar_ibtn_ctrlmode_drag_to"
            url="%FIRSTXML%/graphics/icontrolbar/btn_drag_to.png"
            style="controlBar_i_btn_style"
            tooltip="controlBar_ictrlmodeDragTip"
            onclick="setControlModeDragTo();
"
            visible="false"
            devices="desktop"
            />

    <layer name="controlBar_ibtn_in"
            url="%FIRSTXML%/graphics/icontrolbar/btn_zoom_in.png"
            ondown="viewControlZoomIn(false);"
            onup="viewControlZoomStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_izoomInTip"
            devices="desktop"
            />
    <layer name="controlBar_ibtn_out"
            url="%FIRSTXML%/graphics/icontrolbar/btn_zoom_out.png"
            ondown="viewControlZoomOut(false);
"
            onup="viewControlZoomStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_izoomOutTip"
            devices="desktop"
            />

    <layer name="controlBar_ibtn_left"
            url="%FIRSTXML%/graphics/icontrolbar/btn_move_left.png"
            ondown="viewControlMoveLeft(false);
"
            onup="viewControlMoveHoriStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_imoveLeftTip"
            devices="desktop"
            />
    <layer name="controlBar_ibtn_right"
            url="%FIRSTXML%/graphics/icontrolbar/btn_move_right.png"
            ondown="viewControlMoveRight(false);
"
            onup="viewControlMoveHoriStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_imoveRightTip"
            devices="desktop"
            />

    <layer name="controlBar_ibtn_up"
            url="%FIRSTXML%/graphics/icontrolbar/btn_move_up.png"
            ondown="viewControlMoveUp(false);
"
            onup="viewControlMoveVertStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_imoveUpTip"
            devices="desktop"
            />
    <layer name="controlBar_ibtn_down"
            url="%FIRSTXML%/graphics/icontrolbar/btn_move_down.png"
            ondown="viewControlMoveDown(false);
"
            onup="viewControlMoveVertStop();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_imoveDownTip"
            devices="desktop"
            />



    <layer name="controlBar_ibtn_prev_pano"
            url="%FIRSTXML%/graphics/icontrolbar/btn_previous_scene.png"
            onclick="loadPreviousScene();
"
            style="controlBar_i_btn_style"
            tooltip="controlBar_iprevSceneTip"
            visible="false"
            />
    <layer name="controlBar_ibtn_next_pano"
            url="%FIRSTXML%/graphics/icontrolbar/btn_next_scene.png"
            onclick="loadNextScene();
"
            style="controlBar_i_btn_style"
            tooltip="controlBar_inextSceneTip"
            visible="false"
            />



    <layer name="controlBar_ibtn_openfs"
            url="%FIRSTXML%/graphics/icontrolbar/btn_enter_fs.png"
            onclick="enterFullscreen();
"
            style="controlBar_i_btn_style"
            visible="false"
            devices="fullscreensupport"
            tooltip="controlBar_iopenFsTip"
            />
    <layer name="controlBar_ibtn_closefs"
            url="%FIRSTXML%/graphics/icontrolbar/btn_close_fs.png"
            onclick="exitFullscreen();
"
            style="controlBar_i_btn_style"
            visible="false"
            devices="fullscreensupport"
            tooltip="controlBar_icloseFsTip"
            />

    <layer name="controlBar_ibtn_autorotate_on"
            url="%FIRSTXML%/graphics/icontrolbar/btn_start_autorotation.png"
            onclick="resumeautorotation();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_iautorotateOnTip"
            />
    <layer name="controlBar_ibtn_autorotate_off"
            url="%FIRSTXML%/graphics/icontrolbar/btn_stop_autorotation.png"
            onclick="pauseautorotation();
"
            style="controlBar_i_btn_style"
            visible="false"
            tooltip="controlBar_iautorotateOffTip"
            />



    <layer name="controlBar_ibtn_display_help"
            url="%FIRSTXML%/graphics/icontrolbar/btn_help.png"
            onclick="controlBar_idisplayHelp();"
            style="controlBar_i_btn_style"
            devices="desktop"
            visible="false"
            tooltip="controlBar_idisplayHelpTip"
            />
    <layer name="controlBar_ibtn_close_help"
            url="%FIRSTXML%/graphics/icontrolbar/btn_help.png"
            onclick="controlBar_icloseHelp();"
            style="controlBar_i_btn_style"
            visible="false"
            devices="desktop"
            tooltip="controlBar_ihideHelpTip"
            />



    <layer name="controlBar_ibtn_hidecontrols"
           url="%FIRSTXML%/graphics/icontrolbar/btn_hide_controls.png"
           style="controlBar_i_btn_style"
           onclick="controlBar_ihideMenuControls();hideTourControls();
"
           visible="false"
           tooltip="controlBar_ihideControlsTip"
           />
    <layer name="controlBar_ibtn_showcontrols"
           url="%FIRSTXML%/graphics/icontrolbar/btn_show_controls.png"
           style="controlBar_i_btn_style"
           onclick="controlBar_ishowMenuControls();showTourControls();
"
           tooltip="controlBar_idisplayControlsTip"
           visible="false"
           />
 </layer>





	<events name="controlBar_icontrolmodechangedevent" 
		oncontrolmodechanged="controlBar_iupdateControlModeButtons();" 
		keep="true" />
	<action name="controlBar_iHideControlModeButtons">
		set(layer[controlBar_ibtn_ctrlmode_move_to].visible, false);
		set(layer[controlBar_ibtn_ctrlmode_drag_to].visible, false);
	</action>
	<action name="controlBar_iShowControlModeButtons">
		if (tour_controlmodemousetype == "moveto",
			set(layer[controlBar_ibtn_ctrlmode_drag_to].visible, true);
			set(layer[controlBar_ibtn_ctrlmode_move_to].visible, false);
		,
			set(layer[controlBar_ibtn_ctrlmode_move_to].visible, true);
			set(layer[controlBar_ibtn_ctrlmode_drag_to].visible, false);
		);
	</action>
	<action name="controlBar_iupdateControlModeButtons">
	if (device.desktop,
		if (controlBar_iIsOpened,
			controlBar_iShowControlModeButtons();
		,
			controlBar_iHideControlModeButtons();
		);
	,
		controlBar_iHideControlModeButtons();
	);
	</action>


  <action name="controlBar_ihideMenuControls">
    set(controlBar_iIsOpened, false);
    set(layer[controlBar_ibtn_hidecontrols].visible, false);
    set(layer[controlBar_ibtn_showcontrols].visible, true);
if (scene.count GT 1,
	set(layer[controlBar_ibtn_next_pano].visible, false);
	set(layer[controlBar_ibtn_prev_pano].visible, false);
);


if (device.desktop,
	set(layer[controlBar_ibtn_in].visible, false);
	set(layer[controlBar_ibtn_out].visible, false);
);
if (device.desktop,
	set(layer[controlBar_ibtn_up].visible, false);
	set(layer[controlBar_ibtn_down].visible, false);
);
if (device.desktop,
	set(layer[controlBar_ibtn_left].visible, false);
	set(layer[controlBar_ibtn_right].visible, false);
);
	controlBar_iupdateFullscreenButtons();
	controlBar_iupdateHelpButtons();


	controlBar_iupdateAutorotationButtons();


	controlBar_iupdateControlModeButtons();




	set(layer[controlBar_i_menu_bg].width, get(controlBar_ibackgroundwidthwhenclosed));

	set(layer[controlBar_i_menu_bg].visible, true);
  </action>
  <action name="controlBar_ishowMenuControls">
    set(controlBar_iIsOpened, true);
    set(layer[controlBar_ibtn_hidecontrols].visible, true);
    set(layer[controlBar_ibtn_showcontrols].visible, false);
	set(layer[controlBar_i_menu_bg].visible, true);
if (scene.count GT 1,
	set(layer[controlBar_ibtn_next_pano].visible, true);
	set(layer[controlBar_ibtn_prev_pano].visible, true);
);


if (device.desktop,
	set(layer[controlBar_ibtn_in].visible, true);
	set(layer[controlBar_ibtn_out].visible, true);
);
if (device.desktop,
	set(layer[controlBar_ibtn_up].visible, true);
	set(layer[controlBar_ibtn_down].visible, true);
);
if (device.desktop,
	set(layer[controlBar_ibtn_left].visible, true);
	set(layer[controlBar_ibtn_right].visible, true);
);
	controlBar_iupdateFullscreenButtons();
	controlBar_iupdateHelpButtons();


	controlBar_iupdateAutorotationButtons();


	controlBar_iupdateControlModeButtons();



    set(layer[controlBar_i_menu_bg].width, get(controlBar_ibackgroundwidthwhenopened));
  </action>

  <layer name="controlBar_ihelpScreenBg"
         align="center"
         keep="true"
         onclick="controlBar_icloseHelp();"
         url="%FIRSTXML%/graphics/icontrolbar/help_screen_bg.png"
         visible="false"
         rotate="-90"
         height="50%"
         width="prop"
         zorder="97"
         x="100%" />
  <layer name="controlBar_ihelpScreenFg"
         align="center"
         keep="true"
         onclick="controlBar_icloseHelp();"
         url="%FIRSTXML%/graphics/icontrolbar/help_screen_fg.png"
         height="50%"
         width="prop"
         visible="false"
         rotate="90"
         zorder="98"
         x="-100%"
         displayed="false" />
  <action name="controlBar_idisplayHelp">
  if (device.desktop,
    set(layer[controlBar_ihelpScreenFg].displayed,true);
    set(layer[controlBar_ihelpScreenBg].visible,true);
    set(layer[controlBar_ihelpScreenFg].visible,true);
    tween(layer[controlBar_ihelpScreenFg].rotate,0, 1);
    tween(layer[controlBar_ihelpScreenFg].x,0, 1);
    tween(layer[controlBar_ihelpScreenBg].rotate,0, 1);
    tween(layer[controlBar_ihelpScreenBg].x,0, 1);
    controlBar_iupdateHelpButtons();
  );
  </action>
  <action name="controlBar_icloseHelp">
  if (device.desktop,
    set(layer[controlBar_ihelpScreenFg].displayed,false);
    tween(layer[controlBar_ihelpScreenFg].rotate,  90, 1, easeOutQuad, set(layer[controlBar_ihelpScreenFg].visible,false););
    tween(layer[controlBar_ihelpScreenFg].x, -100%, 1);
    tween(layer[controlBar_ihelpScreenBg].rotate, -90, 1, easeOutQuad, set(layer[controlBar_ihelpScreenBg].visible,false););
    tween(layer[controlBar_ihelpScreenBg].x, 100%, 1);
    controlBar_iupdateHelpButtons();
  );
  </action>
	<action name="controlBar_iHideHelpButtons">
		set(layer[controlBar_ibtn_display_help].visible, false);
		set(layer[controlBar_ibtn_close_help].visible, false);
	</action>
	<action name="controlBar_iShowHelpButtons">
		if (layer[controlBar_ihelpScreenFg].displayed,
			set(layer[controlBar_ibtn_close_help].visible, true);
			set(layer[controlBar_ibtn_display_help].visible, false);
		,
			set(layer[controlBar_ibtn_display_help].visible, true);
			set(layer[controlBar_ibtn_close_help].visible, false);
		);
	</action>
	<action name="controlBar_iupdateHelpButtons">
	if (device.desktop,
		if (controlBar_iIsOpened,
			controlBar_iShowHelpButtons();
		,
			controlBar_iHideHelpButtons();
		);
	,
		controlBar_iHideHelpButtons();
	);
	</action>




  <events name="controlBar_imenufullscreenchangeevent"
          onenterfullscreen="controlBar_iupdateFullscreenButtons();"
          onexitfullscreen="controlBar_iupdateFullscreenButtons();"
          keep="true"/>
	<action name="controlBar_iHideFullscreenButtons">
		set(layer[controlBar_ibtn_openfs].visible , false);
		set(layer[controlBar_ibtn_closefs].visible, false);
	</action>
	<action name="controlBar_iShowFullscreenButtons">
		if (device.fullscreensupport,
			if(tour_fullscreen,
				set(layer[controlBar_ibtn_openfs].visible , false);
				set(layer[controlBar_ibtn_closefs].visible, true);
			,
				set(layer[controlBar_ibtn_openfs].visible ,true);
				set(layer[controlBar_ibtn_closefs].visible,false);
			);
		,
			controlBar_iHideFullscreenButtons();
		);
	</action>
	<action name="controlBar_iupdateFullscreenButtons">
		if (controlBar_iIsOpened,
			controlBar_iShowFullscreenButtons();
		,
			controlBar_iHideFullscreenButtons();
		);
	</action>

	<events name="controlBar_iAutorotationEvents"
		onstartautorotation="controlBar_iupdateAutorotationButtons();"
		onresumeautorotation="controlBar_iupdateAutorotationButtons();"
		onstopautorotation="controlBar_iupdateAutorotationButtons();"
		onpauseautorotation="controlBar_iupdateAutorotationButtons();"
		keep="true"/>
	<action name="controlBar_iHideAutorotationButtons">
		set(layer[controlBar_ibtn_autorotate_off].visible, false);
		set(layer[controlBar_ibtn_autorotate_on].visible , false);
	</action>
	<action name="controlBar_iShowAutorotationButtons">
		if(autorotate.enabled == false,
			set(layer[controlBar_ibtn_autorotate_off].visible, false);
			set(layer[controlBar_ibtn_autorotate_on].visible , true);
		,
			set(layer[controlBar_ibtn_autorotate_off].visible, true);
			set(layer[controlBar_ibtn_autorotate_on].visible , false);
		);
	</action>
	<action name="controlBar_iupdateAutorotationButtons">
		if (controlBar_iIsOpened,
			controlBar_iShowAutorotationButtons();
		,
			controlBar_iHideAutorotationButtons();
		);
	</action>



<layer name="controlBar_imenuTooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	type="text"
	align="center"
	bg="false"
	bgborder="0"
	css="color:#000000;font-family:Helvetica;font-weight:bold;font-size:14px;text-align:left;"
	xoffset="0"
	yoffset="0"
	padding="2"
	interactivecontent="false"
	zorder="0"
	visible="false"
	html=""
	edge="bottom"
/>
  <action name="controlBar_ibuildMenu">
    
    set(controlBar_ibutton_pos, 0);

	set(controlBar_ibackgroundwidthwhenclosed, 40);
    set(layer[controlBar_ibtn_hidecontrols].x, get(controlBar_ibutton_pos));
    set(layer[controlBar_ibtn_showcontrols].x, get(controlBar_ibutton_pos));
    inc(controlBar_ibutton_pos, 45);



      if (device.desktop,
        set(layer[controlBar_ibtn_display_help].x, get(controlBar_ibutton_pos));
        set(layer[controlBar_ibtn_close_help].x  , get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );

      if (device.fullscreensupport,
        set(layer[controlBar_ibtn_openfs].x , get(controlBar_ibutton_pos));
        set(layer[controlBar_ibtn_closefs].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );



      set(layer[controlBar_ibtn_autorotate_on].x , get(controlBar_ibutton_pos));
      set(layer[controlBar_ibtn_autorotate_off].x, get(controlBar_ibutton_pos));
      inc(controlBar_ibutton_pos, 45);



    if (device.desktop,
      set(layer[controlBar_ibtn_ctrlmode_drag_to].x, get(controlBar_ibutton_pos));
      set(layer[controlBar_ibtn_ctrlmode_move_to].x, get(controlBar_ibutton_pos));
      inc(controlBar_ibutton_pos, 45);
    );





      if (device.desktop,
        set(layer[controlBar_ibtn_right].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
        set(layer[controlBar_ibtn_left].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );

      if (device.desktop,
        set(layer[controlBar_ibtn_down].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
        set(layer[controlBar_ibtn_up].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );

      if (device.desktop,
        set(layer[controlBar_ibtn_out].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
        set(layer[controlBar_ibtn_in].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );

    if (scene.count GT 1,
        set(layer[controlBar_ibtn_next_pano].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
        set(layer[controlBar_ibtn_prev_pano].x, get(controlBar_ibutton_pos));
        inc(controlBar_ibutton_pos, 45);
      );



      dec(controlBar_ibutton_pos, 5);

      set(controlBar_ibackgroundwidthwhenopened, get(controlBar_ibutton_pos));


    
      set(layer[controlBar_i_menu_bg].width, get(controlBar_ibackgroundwidthwhenopened));
	
	
	
    </action>

	<events name="controlBar_iStartTourEvents" onTourStart="controlBar_iCallOnStartTour();" keep="true" />
	
	<action name="controlBar_iCallOnStartTour">
		
		controlBar_ishowMenuControls();
	</action>




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

<ptplugin name="description" canStart="false" newPano="false" openatstart="true" mode="panorama" startMethod="showDescription_description" engine="kolorArea">
	<settings>
		<option name="position" value="right" type="string" />
		<option name="start_position" value="right" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="0" type="int" />
		<option name="background_color" value="b7ae9e" type="string" />
		<option name="background_alpha" value="1" type="float" />
		<option name="topleft_radius" value="10" type="int" />
		<option name="topright_radius" value="10" type="int" />
		<option name="bottomleft_radius" value="10" type="int" />
		<option name="bottomright_radius" value="10" type="int" />
		<option name="area_border_width" value="10" type="int" />
		<option name="area_border_color" value="b76231" type="string" />
		<option name="area_border_alpha" value="1" type="float" />
		<option name="padding" value="20" type="int" />
		<option name="display_title" value="true" type="bool" />
		<option name="title" value="descriptiondescription_title" type="string" />
		<option name="title_font" value="Verdana" type="string" />
		<option name="title_size" value="22" type="int" />
		<option name="title_weight" value="bold" type="string" />
		<option name="title_decoration" value="normal" type="string" />
		<option name="title_color" value="b76231" type="string" />
		<option name="close_displayed" value="true" type="bool" />
		<option name="close_text" value="descriptiondisplay_close_text" type="string" />

		<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="area_width" value="30" type="int" />
		<option name="area_height" value="60" type="int" />
		<option name="area_width_unit" value="percent" type="string" />
		<option name="area_height_unit" value="percent" type="string" />
		<option name="animation" value="true" type="bool" />
		<option name="animation_duration" value="2000" 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="true" type="bool" />
		<option name="close_onclick_callback" value="invokeKrFunction('closeKolorAreaCallbackClick_description')" type="string" />
		<option name="open_callback" value="invokeKrFunction('openKolorAreaCallback_description')" type="string" />
		<option name="zorder" value="7" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
</ptplugin>

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

</action>

<action name="updateTitle_description">
	js(invokePluginFunction(description, changeTitle, descriptiondescription_title));
</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);
</action>

<action name="closeKolorAreaCallbackClick_description">


	if(ptplugin[description].isOpen,
		closeDescription_description(false);
	);
</action>

<action name="openKolorAreaCallback_description">
	updateTitle_description();
</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,
		set(ptplugin[description].descID, get(scene[get(xml.scene)].descriptionid));
		if(ptplugin[description].descID == null,
			set(ptplugin[description].descID, "");
		);
		if(ptplugin[description].descID != "",
			openDescription_description();
		,
			hideKolorArea_description(false);
		);
		set(ptplugin[description].startMethod, "");
	);
</action>


<action name="refreshPanoDescription_description">
	set(ptplugin[description].descID, get(scene[get(xml.scene)].descriptionid));
	if(ptplugin[description].descID == null,
		set(ptplugin[description].descID, "");
	);
	if(ptplugin[description].descID != "",
		if(ptplugin[description].isOpen,
			js(invokePluginFunction(description, updateKolorArea, get(ptplugin[description].descID)));
			updateTitle_description();
		,
			if(restore_description,
				showDescription_description();
			);
		);
	,
		closeDescription_description(get(ptplugin[description].isOpen));
	);
</action>

<action name="onNewPano_description">
	if(ptplugin[description].newPano,
		if(ptplugin[description].startMethod == "",
			if(ptplugin[description].isOpen,
				refreshPanoDescription_description();
			,
				refreshPanoDescription_description();
			);
		);
	);
	set(ptplugin[description].newPano, true);
</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,ifnot(ptplugin[description].startMethod == '',delayedcall(0,get(ptplugin[description].startMethod));););"
	onremovepano="if(ptplugin[description].isOpen,closeKolorArea_description(););"
	changetourlanguage="changeLanguage_description();"
/>

<!-- ********** -->
<!-- Transition de chargement -->
<!-- id : blendmode -->
<!-- ********** -->
	<action name="blendmode_prepareblendmode" autorun="preinit">

			set(ptblendmode, 'BLEND(2, easeInCubic)');

	</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>

  <!-- 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>

<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>

  <!-- 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>


  <action name="displayImage">
    if (layer[displayedStandardImage],
      if(layer[displayedStandardImage].doNotDeleteMe,
        set(layer[displayedStandardImage].currentCall, false);
        set(layer[displayedStandardImage].doNotDeleteMe, false);
        
        if (%1 == layer[displayedStandardImage].url,
          applyDisplayedImageObjectAnimation(%8);
        ,
          setDisplayedImageObjectParameters(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10);
        );
      ,
        set(layer[displayedStandardImage].currentCall, false);
        set(layer[displayedStandardImage].doNotDeleteMe, true);
        events.dispatch(onremovedisplayedobject);
        delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12););
      );
    ,
      if(%10,
        addlayer(displayedStandardImageOverlay);
        set(layer[displayedStandardImageOverlay].keep, false);
        set(layer[displayedStandardImageOverlay].width, 100%);
        set(layer[displayedStandardImageOverlay].height, 100%);
        set(layer[displayedStandardImageOverlay].type, container);
        set(layer[displayedStandardImageOverlay].zorder, 98);
        set(layer[displayedStandardImageOverlay].visible, false);
        set(layer[displayedStandardImageOverlay].onclick, applyDisplayedImageObjectAnimation(%8););
        set(layer[displayedStandardImageOverlay].bgcolor, "0x%11");
        set(layer[displayedStandardImageOverlay].bgalpha, %12);
        set(layer[displayedStandardImageOverlay].bgcapture, true);
      );
      addlayer(displayedStandardImage);
      set(layer[displayedStandardImage].keep, false);
      set(layer[displayedStandardImage].onclick, applyDisplayedImageObjectAnimation(%8););
      set(layer[displayedStandardImage].zorder , 99);
      set(layer[displayedStandardImage].currentCall, true);
      set(layer[displayedStandardImage].doNotDeleteMe, true);
      set(layer[displayedStandardImage].onloaded, resizeDisplayedImageObject());
      events.dispatch(onremovedisplayedobject);
      delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12););
      set(layer[displayedStandardImage].visible, false);
    );
  </action>
  <action name="applyDisplayedImageObjectAnimation">resumeautorotation(forcehotspot);

    if (%1,
      stoptween(layer[displayedStandardImage].width, layer[displayedStandardImage].height);
      tween(layer[displayedStandardImage].width|layer[displayedStandardImage].height, 1|1, 1, easeOutQuad, WAIT);
      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););removelayer(displayedStandardImage);
    ,
      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););removelayer(displayedStandardImage);
    );
  </action>
  <action name="setDisplayedImageObjectParameters">
    set(layer[displayedStandardImage].url       , %1);
    set(layer[displayedStandardImage].align     , %2);
    set(layer[displayedStandardImage].x         , %3);
    set(layer[displayedStandardImage].y         , %4);
    set(layer[displayedStandardImage].imgwidth  , %5);
    set(layer[displayedStandardImage].imgheight , %6);
    set(layer[displayedStandardImage].animated  , %8);
    set(layer[displayedStandardImage].applyratio, %9);
    set(layer[displayedStandardImage].overlay   , %10);
    if (%7,pauseautorotation(forcehotspot);
);
  </action>
  <action name="resizeDisplayedImageObject">
    if(layer[displayedStandardImage].url,
    set(layer[displayedStandardImage].fullwidth, get(layer[displayedStandardImage].width));
    set(layer[displayedStandardImage].fullheight, get(layer[displayedStandardImage].height));
    if(layer[displayedStandardImage].animated,
      set(layer[displayedStandardImage].width , 1);
      set(layer[displayedStandardImage].height, 1);
    );
    if(layer[displayedStandardImage].imgwidth != "" AND layer[displayedStandardImage].imgheight != "",
      if(layer[displayedStandardImage].imgwidth == "prop",
        set(tempDisplayedImageObjectHeight, get(layer[displayedStandardImage].imgheight));
        indexoftxt(tempDisplayedImageObjectHeightPercent, get(tempDisplayedImageObjectHeight), "%");
        if(tempDisplayedImageObjectHeightPercent GT 0,
          txtreplace(tempDisplayedImageObjectHeight, '%', '');
          mul(tempDisplayedImageObjectHeight, get(stageheight));
          div(tempDisplayedImageObjectHeight, 100);
          Math.round(tempDisplayedImageObjectHeight);
        );
        mul(flyingImgWidth,get(layer[displayedStandardImage].fullwidth),get(tempDisplayedImageObjectHeight));
        div(flyingImgWidth,get(layer[displayedStandardImage].fullheight));
        Math.round(flyingImgWidth);
        set(layer[displayedStandardImage].imgwidth , get(flyingImgWidth));
        set(layer[displayedStandardImage].imgheight, get(tempDisplayedImageObjectHeight));
      ,
        if(layer[displayedStandardImage].imgheight == "prop",
          set(tempDisplayedImageObjectWidth, get(layer[displayedStandardImage].imgwidth));
          indexoftxt(tempDisplayedImageObjectWidthPercent, get(tempDisplayedImageObjectWidth), "%");
          if(tempDisplayedImageObjectWidthPercent GT 0,
            txtreplace(tempDisplayedImageObjectWidth, '%', '');
            mul(tempDisplayedImageObjectWidth, get(stagewidth));
            div(tempDisplayedImageObjectWidth, 100);
            Math.round(tempDisplayedImageObjectWidth);
          );
          mul(flyingImgHeight,get(layer[displayedStandardImage].fullheight),get(tempDisplayedImageObjectWidth));
          div(flyingImgHeight,get(layer[displayedStandardImage].fullwidth));
          Math.round(flyingImgHeight);
          set(layer[displayedStandardImage].imgwidth , get(tempDisplayedImageObjectWidth));
          set(layer[displayedStandardImage].imgheight , get(flyingImgHeight));
        ,
          set(tempDisplayedImageObjectWidth, get(layer[displayedStandardImage].imgwidth));
          set(tempDisplayedImageObjectHeight, get(layer[displayedStandardImage].imgheight));
          indexoftxt(tempDisplayedImageObjectWidthPercent, get(tempDisplayedImageObjectWidth), "%");
          indexoftxt(tempDisplayedImageObjectHeightPercent, get(tempDisplayedImageObjectHeight), "%");
          if(tempDisplayedImageObjectWidthPercent GT 0,
            txtreplace(tempDisplayedImageObjectWidth, '%', '');
            mul(tempDisplayedImageObjectWidth, get(stagewidth));
            div(tempDisplayedImageObjectWidth, 100);
            Math.round(tempDisplayedImageObjectWidth);
          );
          if(tempDisplayedImageObjectHeightPercent GT 0,
            txtreplace(tempDisplayedImageObjectHeight, '%', '');
            mul(tempDisplayedImageObjectHeight, get(stageheight));
            div(tempDisplayedImageObjectHeight, 100);
            Math.round(tempDisplayedImageObjectHeight);
          );
          set(layer[displayedStandardImage].imgwidth , get(tempDisplayedImageObjectWidth));
          set(layer[displayedStandardImage].imgheight, get(tempDisplayedImageObjectHeight));
        );
      );
    ,
      set(layer[displayedStandardImage].imgwidth , get(layer[displayedStandardImage].fullwidth));
      set(layer[displayedStandardImage].imgheight, get(layer[displayedStandardImage].fullheight));
    );
    
    set(resizedwidth, get(layer[displayedStandardImage].imgwidth));
    set(resizedheight, get(layer[displayedStandardImage].imgheight));
    if(layer[displayedStandardImage].applyratio,
      sub(resizedstagewidth, get(stagewidth), get(layer[displayedStandardImage].x));
      sub(resizedstageheight, get(stageheight), get(layer[displayedStandardImage].y));
      Math.abs(resizedstagewidth);
      Math.abs(resizedstageheight);
      if(resizedwidth GT resizedstagewidth,
        mul(tempresizedheight, get(resizedheight), get(resizedstagewidth));
        div(tempresizedheight, get(resizedwidth));
        Math.round(tempresizedheight);
        set(resizedwidth, get(resizedstagewidth));
        set(resizedheight, get(tempresizedheight));
      );
      if(resizedheight GT resizedstageheight,
        mul(tempresizedwidth, get(resizedwidth), get(resizedstageheight));
        div(tempresizedwidth, get(resizedheight));
        Math.round(tempresizedwidth);
        set(resizedheight, get(resizedstageheight));
        set(resizedwidth, get(tempresizedwidth));
      );
    );
    
    if(layer[displayedStandardImage].animated,
      set(layer[displayedStandardImage].animated, false);
      tween(layer[displayedStandardImage].width , get(resizedwidth), 1, easeOutQuad);
      tween(layer[displayedStandardImage].height, get(resizedheight), 1, easeOutQuad);
    ,
      set(layer[displayedStandardImage].width , get(resizedwidth));
      set(layer[displayedStandardImage].height, get(resizedheight));
    );
    if(layer[displayedStandardImage].overlay,set(layer[displayedStandardImageOverlay].visible, true););
    set(layer[displayedStandardImage].visible, true);
    ,
      delayedcall(0.2,resizeDisplayedImageObject(););
    );
  </action>
  <events name="displayedImageObjectEvents" keep="true" onremovedisplayedobject="displayedImageObjectOnRemoveDisplayedObject" onresize="if(layer[displayedStandardImage],resizeDisplayedImageObject());" />
  <action name="displayedImageObjectOnRemoveDisplayedObject">
    ifnot(layer[displayedStandardImage].currentCall,if(layer[displayedStandardImage].visible,resumeautorotation(forcehotspot);

      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););
      removelayer(displayedStandardImage);
    ););
  </action>


  <!-- Sounds Management -->
  <plugin name="soundinterface"
          preload="true"
          url.flash="%SWFPATH%/graphics/soundinterface.swf"
          url.html5="%FIRSTXML%/graphics/soundinterface.js"
          rootpath="%$videos_sounds_path%/sounds"
          backgroundsound=""
          backgroundsoundloops="0"
          bgsound="false"
          bgsoundpaused="false"
          bgsoundloopended="false"
          bgsoundtoforce = "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);
            set(plugin[soundinterface].bgsoundtoforce, false);
            if(scene[get(xml.scene)].video == false OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              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].bgsoundtoforce, true);
            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].bgsoundtoforce, true);
            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(bgSoundOnResume, true);
    set(forceBgSoundOnResume, true);
    if(layer[displayedStandardVideo],
    if(layer[displayedStandardVideo].pausebgsound AND tour_current_played_video,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(layer[webvideodisplay_player],
    if(layer[webvideodisplay_player].pausebgsound AND tour_current_played_web_video,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(tour_current_played_sound_pausesound AND tour_current_played_sound,
      set(bgSoundOnResume, false);
    );
    ifnot(plugin[soundinterface].backgroundsound AND scene[get(xml.scene)].backgroundsound,
      set(bgSoundOnResume, false);
    );
    if(videospots_playing GT 0,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    );
    if(bgSoundOnResume,
      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);
            ,

              if(device.mobile OR device.tablet OR device.safari OR device.chrome,
                resumesound(bgsoundname);
                set(plugin[soundinterface].bgsoundpaused, false);
              );
            );
          ,
            if(((plugin[soundinterface].bgsoundpaused == true OR plugin[soundinterface].bgsoundtoforce == true) AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              set(plugin[soundinterface].bgsound, true);
              set(plugin[soundinterface].bgsoundpaused, false);
              set(plugin[soundinterface].bgsoundloopended, false);
              set(plugin[soundinterface].bgsoundtoforce, 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("_0913_fontaine.mp3");
    preloadsound("_15_eme_extrait_kyrie.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));
          ,

            if(device.mobile OR device.tablet OR device.safari OR device.chrome,
              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,
          if(device.flash OR (device.webgl AND !device.ios),
            div(volume, tour_soundsvolume, 100);
            set(layer[displayedStandardVideo].volume, get(volume));
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.startVideosSounds(get(volume)));
            ,
              if(tour_soundsvolume GT 0,
                set(layer[displayedStandardVideo].muted, false);
              ,
                set(layer[displayedStandardVideo].muted, true);
              );
            );
          );
        ,
          if(device.flash OR (device.webgl AND !device.ios),
            set(layer[displayedStandardVideo].volume, 0);
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.stopVideosSounds());
            ,
              set(layer[displayedStandardVideo].muted, true);
            );
          );
        );
      );
    );
  </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 OR (device.webgl AND !device.ios),
        set(layer[displayedStandardVideo].volume, 0);
      ,
        ifnot(device.ios,
          js(kpanotour.Sounds.stopVideosSounds());
        ,
          set(layer[displayedStandardVideo].muted, true);
        );
      );
    );
  </action>

</krpano>