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

    
  <!-- Spot Style - info -->


  <style name="Iconinfo"
         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="onhoverIconinfo"
         onover="onoverIconinfo"
         onout="onoutIconinfo"

         height="80"
         width="80"
         />
  <action name="onhoverIconinfo">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo">
tween(scale, 1.2);
tween(alpha, 1);
pauseautorotation(forcehotspot);

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

  </action>



  <!-- unsupported kind of display : PointMap -->


<!-- ********** -->
<!-- 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="1"
         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:#ff2bf1;
         font-family:Arial;
         font-weight:bold;
         font-size:72px;
         "
  />

<!-- ********** -->
<!-- PanotourMaps -->
<!-- id : panotourmaps -->
<!-- ********** -->

		<ptplugin name="panotourmaps" lat="45.478595" lng="6.03104" zoom="11" maptypelayer="hybrid" openatstart="true" state="true" bgcolor="f2f2f2" zorder="2" centeronspots="true" engine="KolorMap">
	
		<radar visible="true" radius="8000" linktozoom="true" quality="8" linecolor="0f07ff" lineopacity="0.50000762951094835" linewidth="1" fillcolor="1eff29" fillopacity="0.30000762951094834" />
		
		<markers animation="false" />
		
		
		<controls zoom="true" pan="true" scale="true" maptype="true" overview="true">
			<ui draggable="true" scrollable="true" dblclick="true" />
			<specific streetview="true" />
		</controls>
		
		<markerSelected name="" heading="" fov="" />
		
		
			<!-- PanotourMaps markers counter : 1 -->



				<marker name="spotmap56" 
					lat="47.845871" 
					lng="2.266474" 
					heading="0" 
					draggable="false" 
					animated="false" 
					desc="spotmap56_tooltip" 
					desctype="info" 
					onhover="true" 
					isscene="true" 
					scene="pano43" 
					hasradar="true" 
					jsclick="spotmap56ActionSpotMap">
					<markericon url="spots/hotspot_neutral_user_defaultmap0.png" iconwidth="32" iconheight="32" shadow="false" iconanchor="center" />
				</marker>
		


		
	</ptplugin>
	
	<action name="kolorMapJsReady_panotourmaps">
		set(ptplugin[panotourmaps].jsready, true);
	</action>
	
	<ptplugin name="panotourmapsArea" engine="kolorArea">
	<settings>
		<option name="position" value="left" type="string" />
		<option name="start_position" value="top" type="string" />
		<option name="margin_x" value="10" type="int" />
		<option name="margin_y" value="10" type="int" />
		<option name="background_color" value="f2cfad" type="string" />
		<option name="background_alpha" value="1" type="float" />
		<option name="padding" value="15" type="int" />
		<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="1f17f2" type="string" />
		<option name="area_border_alpha" value="1" type="float" />
		<option name="display_title" value="true" type="bool" />
		<option name="title" value="panotourmapsmap_title" type="string" />
		<option name="title_font" value="Verdana" type="string" />
		<option name="title_size" value="20" type="int" />
		<option name="title_weight" value="normal" type="string" />
		<option name="title_decoration" value="normal" type="string" />
		<option name="title_color" value="000000" type="string" />
		<option name="close_displayed" value="true" type="bool" />
		<option name="close_text" value="panotourmapsdisplay_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="20" type="int" />
		<option name="area_height" value="80" 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="4000" type="int" />
		<option name="close_on_click" value="false" type="bool" />
		<option name="refresh_content" value="false" type="bool" />
		<option name="open_callback" value="addKolorMap('panotourmaps', [['googlev3','AIzaSyAFB_dXv_c6eEMCLWN-pwBSF9s9Bx2Em8s']], 'panotourmapsArea_mapDIV');" type="string" />
		<option name="close_callback" value="invokeKrFunction('closeKolorAreaCallback_panotourmapsArea')" type="string" />
		<option name="zorder" value="2" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	</ptplugin>
	
	<action name="kolorAreaJsReady_panotourmapsArea">
		set(ptplugin[panotourmapsArea].jsready, true);

		inc(tour_autorotation_openatstartplugin);
		set(ptplugin[panotourmapsArea].autorotateBlocked, true);

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

			js(showKolorArea(panotourmapsArea, &lt;div id="panotourmapsArea_mapDIV"&gt;&lt;/div&gt;));
			js(invokePluginFunction(panotourmaps, forceResizeMapLayer, panotourmapsArea_mapDIV));
			,
				set(ptplugin[panotourmapsArea].currentCall, true);
				set(ptplugin[panotourmapsArea].doNotDeleteMe, true);
				events.dispatch(onremovedisplayedobject);
				delayedcall(0.3,openKolorArea_panotourmapsArea(););
			);
		);
	</action>
	
	<action name="closeKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].isOpen,
			if(ptplugin[panotourmapsArea].doNotDeleteMe,
				set(ptplugin[panotourmapsArea].doNotDeleteMe, false);
			,
			js(invokePluginFunction(panotourmapsArea, closeKolorArea));
			);
		);
	</action>
	
	<action name="toggleKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].isOpen,
			closeKolorArea_panotourmapsArea();
		,
			openKolorArea_panotourmapsArea();
		);
	</action>
	
	<action name="closeKolorAreaCallback_panotourmapsArea">
		set(ptplugin[panotourmapsArea].doNotDeleteMe, false);
		if(ptplugin[panotourmapsArea].isOpen,resumeautorotation(forceplugin);

			if(ptplugin[panotourmapsArea].autorotateBlocked,if(tour_autorotation_openatstartplugin GT 0,dec(tour_autorotation_openatstartplugin);set(ptplugin[panotourmapsArea].autorotateBlocked,false);););
		);
		set(ptplugin[panotourmapsArea].isOpen, false);hideMap();

	</action>
	
	<action name="showKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].doNotDeleteMe,
			set(ptplugin[panotourmapsArea].currentCall, false);
			set(ptplugin[panotourmapsArea].doNotDeleteMe, false);
		set(ptplugin[panotourmapsArea].isOpen, true);
		pauseautorotation(forceplugin);

		js(invokePluginFunction(panotourmapsArea, showKolorArea, %1));
		js(invokePluginFunction(panotourmaps, forceResizeMapLayer, panotourmapsArea_mapDIV));
		,
			set(ptplugin[panotourmapsArea].currentCall, true);
			set(ptplugin[panotourmapsArea].doNotDeleteMe, true);
			events.dispatch(onremovedisplayedobject);
			delayedcall(0.3,showKolorArea_panotourmapsArea(%1););
		);
	</action> 
		
	<action name="hideKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].doNotDeleteMe,
			set(ptplugin[panotourmapsArea].doNotDeleteMe, false);
		,
		resumeautorotation(forceplugin);

		if(ptplugin[panotourmapsArea].autorotateBlocked,if(tour_autorotation_openatstartplugin GT 0,dec(tour_autorotation_openatstartplugin);set(ptplugin[panotourmapsArea].autorotateBlocked,false);););
		set(ptplugin[panotourmapsArea].isOpen, false);
		js(invokePluginFunction(panotourmapsArea, hideKolorArea, %1));
		);
	</action>
	
	
	<action name="updateDefaultMarkerValues_panotourmapsArea">
		if( ptplugin[panotourmaps].markerSelected.name != "",
			set(ptplugin[panotourmaps].markerSelected.heading, get(view.hlookat));
			set(ptplugin[panotourmaps].markerSelected.fov, get(view.hfov));
		);
		
	</action>
	
	<action name="changeLanguage_panotourmaps">
		if(ptplugin[panotourmaps].jsready,
			stopdelayedcall(delay_panotourmaps);
			js(invokePluginFunction(panotourmapsArea, changeLanguage, false));
		,
			delayedcall(delay_panotourmaps, 0.1, changeLanguage_panotourmaps(););
		);
	</action>
	
	<events name="kolorAreaEvents_panotourmapsArea" 
		keep="true"
		onremovepano="if(ptplugin[panotourmapsArea].isOpen,hideMap();
);"
		onremovedisplayedobject="ifnot(ptplugin[panotourmapsArea].currentCall,if(ptplugin[panotourmapsArea].isOpen,hideMap();
););"
		onhidetourmap="delayedcall(0.3,panotourmapsClosetourmap(););" 
		onshowtourmap="if(tour_displaymap,panotourmapsOpentourmap(););" 
		
		onTourStart="updateDefaultMarkerValues_panotourmapsArea();panotourmapsOpentourmap();"
		changetourlanguage="changeLanguage_panotourmaps();"
	/>
	
	
		<!-- PanotourMaps markers counter : 1 -->
				<action name="spotmap56ActionSpotMap">if(xml.scene == pano43,if(ptplugin[panotourmapsArea].isOpen,hideMap();
););
          mainloadscene(pano43);lookat(get(panoview.h), get(panoview.v), get(panoview.fov));

</action>
	


	
	
	
	<!-- Begin PanotourMaps events and actions -->
	<events name="panotourmapsEvents" 
	onxmlcomplete="ifnot(panotourmapsMapLoaded,set(tour_displaymap,true););" 
	onnewpano="panotourmapsActivateDefaultMarker();" 
	onviewchanged="panotourmapsOnviewchange()" 
	keep="true" />
	
	
	<krpano panotourmapsMarkerDefaultSet="false" />
	<krpano panotourmapsMapLoaded="false" />
	
	
	
	<action name="panotourmapsClosetourmap">
		if(ptplugin[panotourmapsArea].isOpen,
			closeKolorArea_panotourmapsArea();
		);
	</action>
	
	<action name="panotourmapsHidetourmap">
		ifnot(ptplugin[panotourmapsArea].isOpen,
			panotourmapsClosetourmap();
		,
			hideKolorArea_panotourmapsArea(true);
		);
	</action>
	
	<action name="panotourmapsOpentourmap">
		ifnot(ptplugin[panotourmapsArea].isOpen,
			openKolorArea_panotourmapsArea();
		);
	</action>
	
	<action name="panotourmapsShowtourmap">
		ifnot(ptplugin[panotourmapsArea].isOpen,
			panotourmapsOpentourmap();
		,
			showKolorArea_panotourmapsArea(true);
		);
	</action>
	
	<action name="panotourmapsChangescene">
		mainloadscene(%1);if(xml.scene != %1,panotourmapsGoMarker(%2););
	</action>
	
	<action name="panotourmapsOnviewchange">
		if ( panotourmapsMapLoaded == true,
			ifnot(ptplugin[panotourmaps].markerSelected.name == "",
				js(invokePluginFunction(panotourmaps, changeDirection, get(view.hlookat), get(view.hfov)));
			);
			updateDefaultMarkerValues_panotourmapsArea();
		);
	</action>
	
	<action name="panotourmapsGoMarker">
		if ( panotourmapsMapLoaded == true,
			
			set(ptplugin[panotourmaps].markerSelected.name, %1);
			set(ptplugin[panotourmaps].markerSelected.heading, get(view.hlookat));
			set(ptplugin[panotourmaps].markerSelected.fov, get(view.hfov));
			js(invokePluginFunction(panotourmaps, changeCurrentMarker, %1, get(view.hlookat), get(view.hfov), get(ptplugin[panotourmaps].centeronspots)));
			
			if( panotourmapsMarkerDefaultSet == false,
				js(setMapDefaultMarker(panotourmaps, %1, get(view.hlookat), get(view.hfov)));
				set(panotourmapsMarkerDefaultSet,true);
			);
		);
	</action>
	
	<action name="panotourmapsUnselectMarker">
		set(ptplugin[panotourmaps].markerSelected.name, "");
		js(invokePluginFunction(panotourmaps, unselectCurrentMarker));
		
		js(setMapDefaultMarker(panotourmaps, null, null, null));
	</action>

	<action name="panotourmapsActivateDefaultMarker">
		set(panotourmapsMapLoaded, true);
		
		set(panotourmapsMapSpotFound, false);
		for(set(defaultmarkerinc,0), defaultmarkerinc LT ptplugin[panotourmaps].marker.count , inc(defaultmarkerinc),
                        if(ptplugin[panotourmaps].marker[get(defaultmarkerinc)].isscene == true,
				if(panotourmapsMapSpotFound == false,
					if(ptplugin[panotourmaps].marker[get(defaultmarkerinc)].scene == xml.scene,
						ifnot(ptplugin[panotourmaps].marker[get(defaultmarkerinc)].name == ptplugin[panotourmaps].markerSelected.name,
							panotourmapsGoMarker(get(ptplugin[panotourmaps].marker[get(defaultmarkerinc)].name));
						);
						set(panotourmapsMapSpotFound, true);
					);
				);
			);
		);
		
		if(panotourmapsMapSpotFound == false,
			panotourmapsUnselectMarker();
		);
	</action>



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


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

			tooltip="logotooltipText"
			onhover="showTooltip('hotspot');"
			onout="hideTooltip();"
         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"/>



<!-- ********** -->
<!-- Title Extended - Scene specific -->
<!-- id : extendedtitle -->
<!-- ********** -->

  <events name="extendedtitle_events" 
    onTourStart="showextendedtitle();"
    hidetourcontrols="hideextendedtitle();" 
    showtourcontrols="showextendedtitle();" 
    changetourlanguage="changeLanguageextendedtitle"
    keep="true" />
  <action name="hideextendedtitle">set(layer[extendedtitle].visible, false);</action>
  <action name="showextendedtitle">
    if (tour_displaycontrols,
    set(layer[extendedtitle].visible, true );
    ,
      set(layer[extendedtitle].visible, false );
    );
  </action>
  <action name="changeLanguageextendedtitle">
    updateextendedtitle();
  </action>

  <action name="updateextendedtitle">
    getmessage(layer[extendedtitle].html, extendedtitlecustomtitle);
    escape(layer[extendedtitle].html);
  </action>


  <layer name="extendedtitle" keep="true" zorder="4"
         type="text"
         align="top" x="10" y="10"
         onloaded="getmessage(html,extendedtitlecustomtitle);escape(html);"
         bg="false" 
         bgborder="0"
         alpha="1"
         visible="false"
         capture="false" handcursor="false" enabled="false"
         interactivecontent="false" 
         txtshadow="1.0 1.0 4.0 0x000000 1.0"
         css="text-align:center;
              color:#000000;
              font-family:Calibri;
              font-weight:bold;
              text-decoration:underline;
              font-size:72px;"/>

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


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

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

         height="80"
         width="80"

         />

  <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:#ffffff;font-family:Arial;font-weight:bold;font-size:20px;text-align:left;"
	edge="bottom"
	interactivecontent="false"
	zorder="0"
	padding="2"
	xoffset="0"
	yoffset="0"
	visible="false"
	html=""
/>


<!-- ********** -->
<!-- Barre de Contrôle Arrondie -->
<!-- id : controlBar_rounded -->
<!-- ********** -->

  <krpano controlBar_roundedbuilt="false" controlBar_roundednbbuttons="0" controlBar_roundedIsOpened="false" />

  <events name="controlBar_roundedevents" 


    onxmlcomplete="controlBar_roundedbuildMenuBar();" keep="true"/>
  <action name="controlBar_roundedbuildMenuBar">
    ifnot (controlBar_roundedbuilt, controlBar_roundedbuildMenu(); set(controlBar_roundedbuilt, true););
  </action>



  <action name="controlBar_roundedbuildMenu">
    txtadd(btnbgname, "controlBar_roundedbtnbg", get(controlBar_roundednbbuttons));







    if (controlBar_roundednbbuttons LT 6,
      set(layer[controlBar_roundedbtn_sound_off].parent, get(btnbgname));
      set(layer[controlBar_roundedbtn_sound_off].x     , get(plugin[get(btnbgname)].childx));
      set(layer[controlBar_roundedbtn_sound_off].y     , get(plugin[get(btnbgname)].childy));
      set(layer[controlBar_roundedbtn_sound_on ].parent, get(btnbgname));
      set(layer[controlBar_roundedbtn_sound_on ].x     , get(plugin[get(btnbgname)].childx));
      set(layer[controlBar_roundedbtn_sound_on ].y     , get(plugin[get(btnbgname)].childy));
      inc(controlBar_roundednbbuttons);
      txtadd(btnbgname, "controlBar_roundedbtnbg", get(controlBar_roundednbbuttons));
    ,
      set(layer[controlBar_roundedbtn_sound_off].disabled, true);
      set(layer[controlBar_roundedbtn_sound_on].disabled, true);
    );




    if (controlBar_roundednbbuttons LT 6,
      set(layer[controlBar_roundedbtn_autorotate_on ].parent, get(btnbgname));
      set(layer[controlBar_roundedbtn_autorotate_on ].x     , get(plugin[get(btnbgname)].childx));
      set(layer[controlBar_roundedbtn_autorotate_on ].y     , get(plugin[get(btnbgname)].childy));
      set(layer[controlBar_roundedbtn_autorotate_off].parent, get(btnbgname));
      set(layer[controlBar_roundedbtn_autorotate_off].x     , get(plugin[get(btnbgname)].childx));
      set(layer[controlBar_roundedbtn_autorotate_off].y     , get(plugin[get(btnbgname)].childy));
      inc(controlBar_roundednbbuttons);
      txtadd(btnbgname, "controlBar_roundedbtnbg", get(controlBar_roundednbbuttons));
    ,
      set(layer[controlBar_roundedbtn_autorotate_on].disabled, true);
      set(layer[controlBar_roundedbtn_autorotate_off].disabled, true);
    );





	

  </action>

<events name="controlBar_roundedStartTourEvents" onTourStart="controlBar_roundedCallOnStartTour();" keep="true" />

<action name="controlBar_roundedCallOnStartTour">
	
	controlBar_roundedshowMenuControls();
</action>




  <layer name="controlBar_roundedmenu_roundcorner_bg"
          keep="true"
          url="%FIRSTXML%/graphics/roundcornerbar/footer.png"
          zorder="6"
          align="bottomright"
          handcursor="false"
          edge="right"
          x="0"
          y="0"
          rotate="180"
          capture="false"
          visible="false" />

  <style name="controlBar_rounded_btn_style"
         keep="true"
         align="bottomright"
         onhover="controlBar_roundedshowMenuTooltip();"
         onout="hideTooltip();"
         zorder="8"
         />

  <style name="controlBar_roundedbtnbgstyle" keep="true" pixelhittest="true" align="bottomright" zorder="7" alpha="0" />

  <layer name="controlBar_roundedbtnbg0" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_1.png" style="controlBar_roundedbtnbgstyle" x="144" y="0"   childx="10" childy="6"  crop="0|0|48|49" onovercrop="0|49|48|49" ondowncrop="0|98|48|49" visible="false" />
  <layer name="controlBar_roundedbtnbg1" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_2.png" style="controlBar_roundedbtnbgstyle" x="129" y="39"  childx="14" childy="10" crop="0|0|56|56" onovercrop="0|56|56|56" ondowncrop="0|112|56|56" visible="false" />
  <layer name="controlBar_roundedbtnbg2" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_3.png" style="controlBar_roundedbtnbgstyle" x="106" y="75"  childx="15" childy="14" crop="0|0|60|60" onovercrop="0|60|60|60" ondowncrop="0|120|60|60" visible="false" /> 
  <layer name="controlBar_roundedbtnbg3" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_4.png" style="controlBar_roundedbtnbgstyle" x="75"  y="106" childx="14" childy="15" crop="0|0|60|60" onovercrop="0|60|60|60" ondowncrop="0|120|60|60" visible="false" />
  <layer name="controlBar_roundedbtnbg4" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_5.png" style="controlBar_roundedbtnbgstyle" x="39"  y="129" childx="10" childy="14" crop="0|0|56|56" onovercrop="0|56|56|56" ondowncrop="0|112|56|56" visible="false" />
  <layer name="controlBar_roundedbtnbg5" url="%FIRSTXML%/graphics/roundcornerbar/btn_round_corner_6.png" style="controlBar_roundedbtnbgstyle" x="0"   y="144" childx="6"  childy="10" crop="0|0|48|48" onovercrop="0|48|48|48" ondowncrop="0|96|48|48" visible="false" />





  <layer name="controlBar_roundedbtn_sound_on"
          url="%FIRSTXML%/graphics/roundcornerbar/btn_start_sound.png"
          onclick="playTourSounds();
"
          style="controlBar_rounded_btn_style"
          visible="false"
          tooltip="controlBar_roundedsoundsOnTip"
          />
  <layer name="controlBar_roundedbtn_sound_off"
          url="%FIRSTXML%/graphics/roundcornerbar/btn_stop_sound.png"
          onclick="stopTourSounds();
"
          style="controlBar_rounded_btn_style"
          visible="false"
          tooltip="controlBar_roundedsoundsOffTip"
          />

  <events name="controlBar_roundedplaystopsoundsevent" playtoursoundsevent="controlBar_roundedupdateSoundButtons();" stoptoursoundsevent="controlBar_roundedupdateSoundButtons();" keep="true"/>
	<action name="controlBar_roundedHideSoundButtons">
		set(layer[controlBar_roundedbtn_sound_off].visible, false);
		set(layer[controlBar_roundedbtn_sound_on].visible , false);
	</action>
	<action name="controlBar_roundedShowSoundButtons">
		if (tour_soundson == false,
			set(layer[controlBar_roundedbtn_sound_off].visible, false);
			set(layer[controlBar_roundedbtn_sound_on].visible , true);
		,
			set(layer[controlBar_roundedbtn_sound_off].visible, true);
			set(layer[controlBar_roundedbtn_sound_on].visible , false);
		);
	</action>
	<action name="controlBar_roundedupdateSoundButtons">
		if (controlBar_roundedIsOpened,
			controlBar_roundedShowSoundButtons();
		,
			controlBar_roundedHideSoundButtons();
		);
	</action>




  <layer name="controlBar_roundedbtn_autorotate_on"
          url="%FIRSTXML%/graphics/roundcornerbar/btn_start_autorotation.png"
          onclick="resumeautorotation();
"
          style="controlBar_rounded_btn_style"
          visible="false"
          tooltip="controlBar_roundedautorotateOnTip"
          />
  <layer name="controlBar_roundedbtn_autorotate_off"
          url="%FIRSTXML%/graphics/roundcornerbar/btn_stop_autorotation.png"
          onclick="pauseautorotation();
"
          style="controlBar_rounded_btn_style"
          visible="false"
          tooltip="controlBar_roundedautorotateOffTip"
          />

	<events name="controlBar_roundedAutorotationEvents"
		onstartautorotation="controlBar_roundedupdateAutorotationButtons();"
		onresumeautorotation="controlBar_roundedupdateAutorotationButtons();"
		onstopautorotation="controlBar_roundedupdateAutorotationButtons();"
		onpauseautorotation="controlBar_roundedupdateAutorotationButtons();"
		keep="true"/>
	<action name="controlBar_roundedHideAutorotationButtons">
		set(layer[controlBar_roundedbtn_autorotate_off].visible, false);
		set(layer[controlBar_roundedbtn_autorotate_on].visible , false);
	</action>
	<action name="controlBar_roundedShowAutorotationButtons">
		if(autorotate.enabled == false,
			set(layer[controlBar_roundedbtn_autorotate_off].visible, false);
			set(layer[controlBar_roundedbtn_autorotate_on].visible , true);
		,
			set(layer[controlBar_roundedbtn_autorotate_off].visible, true);
			set(layer[controlBar_roundedbtn_autorotate_on].visible , false);
		);
	</action>
	<action name="controlBar_roundedupdateAutorotationButtons">
		if (controlBar_roundedIsOpened,
			controlBar_roundedShowAutorotationButtons();
		,
			controlBar_roundedHideAutorotationButtons();
		);
	</action>






  <style name="controlBar_roundedroundcorner_btn_nav_style"
         keep="true"
         pixelhittest="true"
         onhover="controlBar_roundedshowMenuTooltip();"
         onout="hideTooltip();"
         />

  
  <layer name="controlBar_roundedmenu_navigation_bg"
          keep="true"
          type="container"
          zorder="7"
          align="bottomright"
          edge="bottomright"
          x="10"
          y="10"
          width="102"
          height="102"
          visible="true"
          capture="false">

    <layer name="controlBar_roundedbtn_in"
         zorder="1"
            url="%FIRSTXML%/graphics/roundcornerbar/btn_zoom_in.png"
            style="controlBar_roundedroundcorner_btn_nav_style"
            crop="0|0|66|33"
            onovercrop="0|33|66|33"
            ondown="viewControlZoomIn(false);"
            onup="viewControlZoomStop();
"
            x="0" y="0"
            edge="bottom"
            align="center"
            visible="false"
            tooltip="controlBar_roundedzoomInTip"
             />
    <layer name="controlBar_roundedbtn_out"
         zorder="1"
            url="%FIRSTXML%/graphics/roundcornerbar/btn_zoom_out.png"
            style="controlBar_roundedroundcorner_btn_nav_style"
            crop="0|0|66|33"
            onovercrop="0|33|66|33"
            ondown="viewControlZoomOut(false);
"
            onup="viewControlZoomStop();
"
            x="0" y="0"
            edge="top"
            align="center"
            visible="false"
            tooltip="controlBar_roundedzoomOutTip"
             />

  </layer>

  <style name="controlBar_roundedbtn_fs_bg_style" keep="true"
         url="%FIRSTXML%/graphics/roundcornerbar/btn_fs_bg.png"
         align="topright"
         zorder="6"
         x="0" y="0"
         crop="      0|  0|50|50"
         onovercrop="0| 50|50|50"
         ondowncrop="0|100|50|50"
         onhover="controlBar_roundedshowMenuTooltip();"
         onout="hideTooltip();"
         />
  <style name="controlBar_roundedbtn_fs_style" keep="true" align="topright"
         devices="fullscreensupport"
         x="5" y="5"
         onhover="controlBar_roundedshowMenuTooltip();"
         onout="hideTooltip();"
         />
  <layer name="controlBar_roundedbtn_openfs_bg"
         style="controlBar_roundedbtn_fs_bg_style"
         onclick="enterFullscreen();
"
         visible="false"
         devices="fullscreensupport"
         alpha="0"
         tooltip="controlBar_roundedopenFsTip"
          >
    <layer name="controlBar_roundedbtn_openfs"
           style="controlBar_roundedbtn_fs_style"
           url="%FIRSTXML%/graphics/roundcornerbar/btn_enter_fs.png"
           onclick="enterFullscreen();
"
           tooltip="controlBar_roundedopenFsTip"
           />
  </layer>

  <layer name="controlBar_roundedbtn_closefs_bg"
          style="controlBar_roundedbtn_fs_bg_style"
          visible="false"
          alpha="0"
          devices="fullscreensupport"
          onclick="exitFullscreen();
"
          tooltip="controlBar_roundedcloseFsTip"
         onhover="controlBar_roundedshowMenuTooltip();"
         onout="hideTooltip();"
          >
    <layer name="controlBar_roundedbtn_closefs"
           style="controlBar_roundedbtn_fs_style"
           url="%FIRSTXML%/graphics/roundcornerbar/btn_close_fs.png"
           onclick="exitFullscreen();
"
           tooltip="controlBar_roundedcloseFsTip"
          />
  </layer>

  <events name="controlBar_roundedmenufullscreenchangeevent"
          onenterfullscreen="controlBar_roundedupdateFullscreenButtons();"
          onexitfullscreen="controlBar_roundedupdateFullscreenButtons();"
          keep="true"/>
	<action name="controlBar_roundedHideFullscreenButtons">
		tween(layer[controlBar_roundedbtn_openfs_bg].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtn_openfs_bg].visible , false));
		tween(layer[controlBar_roundedbtn_closefs_bg].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtn_closefs_bg].visible , false));
	</action>
	<action name="controlBar_roundedShowFullscreenButtons">
		if (device.fullscreensupport,
			if(tour_fullscreen,
				if(layer[controlBar_roundedbtn_openfs_bg].visible,
					set(layer[controlBar_roundedbtn_openfs_bg].visible , false);
					set(layer[controlBar_roundedbtn_closefs_bg].visible, true);
				,
					set(layer[controlBar_roundedbtn_openfs_bg].visible , false);
					set(layer[controlBar_roundedbtn_closefs_bg].visible, true);
					tween(layer[controlBar_roundedbtn_openfs_bg].alpha, 1, 0.5);
					tween(layer[controlBar_roundedbtn_closefs_bg].alpha, 1, 0.5);
				);
			,
				if(layer[controlBar_roundedbtn_closefs_bg].visible,
					set(layer[controlBar_roundedbtn_openfs_bg].visible ,true);
					set(layer[controlBar_roundedbtn_closefs_bg].visible,false);
				,
					set(layer[controlBar_roundedbtn_openfs_bg].visible , true);
					set(layer[controlBar_roundedbtn_closefs_bg].visible, false);
					tween(layer[controlBar_roundedbtn_openfs_bg].alpha, 1, 0.5);
					tween(layer[controlBar_roundedbtn_closefs_bg].alpha, 1, 0.5);
				);
			);
		,
			controlBar_roundedHideFullscreenButtons();
		);
	</action>
	<action name="controlBar_roundedupdateFullscreenButtons">
		if (controlBar_roundedIsOpened,
			controlBar_roundedShowFullscreenButtons();
		,
			controlBar_roundedHideFullscreenButtons();
		);
	</action>






  <action name="controlBar_roundedhideMenuControls">
    set(controlBar_roundedIsOpened, false);
    if (controlBar_roundednbbuttons GT 0,
      stoptween(layer[controlBar_roundedmenu_roundcorner_bg].rotate);
      stoptween(layer[controlBar_roundedbtnbg0].alpha);
      stoptween(layer[controlBar_roundedbtnbg1].alpha);
      stoptween(layer[controlBar_roundedbtnbg2].alpha);
      stoptween(layer[controlBar_roundedbtnbg3].alpha);
      stoptween(layer[controlBar_roundedbtnbg4].alpha);
      stoptween(layer[controlBar_roundedbtnbg5].alpha);

      tween(layer[controlBar_roundedbtnbg0].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg0].visible, false));
      tween(layer[controlBar_roundedbtnbg1].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg1].visible, false));
      tween(layer[controlBar_roundedbtnbg2].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg2].visible, false));
      tween(layer[controlBar_roundedbtnbg3].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg3].visible, false));
      tween(layer[controlBar_roundedbtnbg4].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg4].visible, false));
      tween(layer[controlBar_roundedbtnbg5].alpha, 0, 0.5, easeOutQuad, set(layer[controlBar_roundedbtnbg5].visible, false));
    );

      set(layer[controlBar_roundedbtn_in].visible, false);
      set(layer[controlBar_roundedbtn_out].visible, false);

    controlBar_roundedupdateFullscreenButtons();
	ifnot(layer[controlBar_roundedbtn_autorotate_on].disabled,controlBar_roundedupdateAutorotationButtons(););

	ifnot(layer[controlBar_roundedbtn_sound_on].disabled,controlBar_roundedupdateSoundButtons(););



    if (controlBar_roundednbbuttons GT 0,
      tween(layer[controlBar_roundedmenu_roundcorner_bg].rotate, 180, 0.5, easeOutQuad, set(layer[controlBar_roundedmenu_roundcorner_bg].visible, false););
    );
  </action>
  <action name="controlBar_roundedshowMenuControls">
    set(controlBar_roundedIsOpened, true);
    if (controlBar_roundednbbuttons GT 0,
      stoptween(layer[controlBar_roundedmenu_roundcorner_bg].rotate);
      stoptween(layer[controlBar_roundedbtnbg0].alpha);
      stoptween(layer[controlBar_roundedbtnbg1].alpha);
      stoptween(layer[controlBar_roundedbtnbg2].alpha);
      stoptween(layer[controlBar_roundedbtnbg3].alpha);
      stoptween(layer[controlBar_roundedbtnbg4].alpha);
      stoptween(layer[controlBar_roundedbtnbg5].alpha);
    );


    set(layer[controlBar_roundedmenu_roundcorner_bg].visible, true);
    tween(layer[controlBar_roundedmenu_roundcorner_bg].rotate, 0, 0.5, easeOutQuad,

      if (controlBar_roundednbbuttons GT 0,
        set(  layer[controlBar_roundedbtnbg0].visible, true);
        tween(layer[controlBar_roundedbtnbg0].alpha  , 1, 0.5);
        set(  layer[controlBar_roundedbtnbg1].visible, true);
        tween(layer[controlBar_roundedbtnbg1].alpha  , 1, 0.5);
        set(  layer[controlBar_roundedbtnbg2].visible, true);
        tween(layer[controlBar_roundedbtnbg2].alpha  , 1, 0.5);
        set(  layer[controlBar_roundedbtnbg3].visible, true);
        tween(layer[controlBar_roundedbtnbg3].alpha  , 1, 0.5);
        set(  layer[controlBar_roundedbtnbg4].visible, true);
        tween(layer[controlBar_roundedbtnbg4].alpha  , 1, 0.5);
        set(  layer[controlBar_roundedbtnbg5].visible, true);
        tween(layer[controlBar_roundedbtnbg5].alpha  , 1, 0.5);
      );

      set(layer[controlBar_roundedbtn_in].visible, true);
      set(layer[controlBar_roundedbtn_out].visible, true);

      controlBar_roundedupdateFullscreenButtons();
	ifnot(layer[controlBar_roundedbtn_autorotate_on].disabled,controlBar_roundedupdateAutorotationButtons(););

	ifnot(layer[controlBar_roundedbtn_sound_on].disabled,controlBar_roundedupdateSoundButtons(););


    );
  </action>





  <action name="controlBar_roundedshowMenuTooltip">
    if (tooltip !== null,
      getmessage(tooltipmess, get(tooltip));
      showTooltip('plugin', controlBar_roundedmenuTooltipStyle, bottomright);
    );
  </action>

  <layer name="controlBar_roundedmenuTooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	type="text"
	align="center"
	bg="true"
	bgcolor="0x9b8b75"
	bgalpha="0.80000000000000004"
	bgborder="0"
	css="color:#000000;font-family:Times New Roman;font-weight:bold;font-size:14px;text-align:left;"
	edge="bottomright"
	interactivecontent="false"
	zorder="0"
	padding="2"
	xoffset="0"
	yoffset="0"
	visible="false"
	html=""
         />


  <!-- Sounds Management -->
  <plugin name="soundinterface"
          preload="true"
          url.flash="%VIEWER%/graphics/soundinterface.swf"
          url.html5="%FIRSTXML%/graphics/soundinterface.js"
          rootpath="%$videos_sounds_path%/sounds/"
          backgroundsound=""
          backgroundsoundloops="true"
          bgsound="false"
          bgsoundpaused="false"
          bgsoundloopended="false"
          bgsoundtoforce = "false"
          volumeinitialized="false"
          autopause="true"
          autounlock="true"
          worldscale="1.0"
          started="false"
          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,
        div(volume, tour_soundsvolume, 100);
        if(%9 != null,
          if(%8 == 0,
            playsound_at_hv(%1, %2, %5, %6, 1000, true, get(volume), %7, stopsound3Dwhenpossible(%1,%4));
          ,
            playsound_at_hv(%1, %2, %5, %6, 1000, false, get(volume), %7, stopsound3Dwhenpossible(%1,%4));
          );
          setup3dsound(%1, 1.0, 1.0, inverse, HRTF);
        ,
          if(%8 == 0,
            playsound_at_hv(%1, %2, %5, %6, 1000, true, get(volume), %7);
          ,
            playsound_at_hv(%1, %2, %5, %6, 1000, false, get(volume), %7);
          );
          setup3dsound(%1, 1.0, 1.0, inverse, HRTF)
        );
      ,
        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);
      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),
              ifnot(plugin[soundinterface].backgroundsoundloops,
                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,
    ifnot(plugin[soundinterface].backgroundsoundloops,
      set(plugin[soundinterface].backgroundsoundloops, true);
      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, true);
        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(((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);
              ifnot(plugin[soundinterface].backgroundsoundloops,
                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("andriih-piano-piano-flowers-music-590659.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,
          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>

  <!-- MAP -->
  <action name="hideMap">set(tour_displaymap, false);events.dispatch(onhidetourmap);</action>
  <action name="showMap">set(tour_displaymap, true); events.dispatch(onshowtourmap);</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>

</krpano>