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

    
  <!-- Spot Style - HAUT -->


  <style name="IconHAUT"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint6.png"
         visible="false"
         frame="0"
         lastframe="18"
         framewidth="50"
         frameheight="50"
         stopspotsequence="false"
         crop="0|0|50|50"
         edge="center"
         rotate="270"
         onloaded="startspotanimation(0.1);showPermanentTooltip(touch);"
         onhover="onhoverIconHAUT"
         onover="onoverIconHAUT"
         onout="onoutIconHAUT"

         height="38"
         width="38"
         />
  <action name="onhoverIconHAUT">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconHAUT">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

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

resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - POINT INFO 1 -->


  <style name="IconPOINTINFO1"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint10.png"
         visible="false"
         frame="0"
         lastframe="9"
         framewidth="50"
         frameheight="50"
         stopspotsequence="false"
         crop="0|0|50|50"
         edge="center"
         onloaded="startspotanimation(0.1);showPermanentTooltip(touch);"
         onhover="onhoverIconPOINTINFO1"
         onover="onoverIconPOINTINFO1"
         onout="onoutIconPOINTINFO1"

         height="44"
         width="44"
         />
  <action name="onhoverIconPOINTINFO1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconPOINTINFO1">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

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

resumeautorotation(forcehotspot);

  </action>



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


    
  <!-- Spot Style - POINT facebook -->


  <style name="IconPOINTfacebook"
         url="%FIRSTXML%/spots/facebook_logo_user_defaultpoint13.png"
         visible="false"
         edge="center"
         onloaded="showPermanentTooltip(touch);"
         onhover="onhoverIconPOINTfacebook"
         onover="onoverIconPOINTfacebook"
         onout="onoutIconPOINTfacebook"

         height="44"
         width="44"
         />
  <action name="onhoverIconPOINTfacebook">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconPOINTfacebook">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

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

resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - POINT INFO 2 -->


  <style name="IconPOINTINFO2"
         url="%FIRSTXML%/spots/hotspot_information_black_sequence_user_defaultpoint14.png"
         visible="false"
         frame="0"
         lastframe="17"
         framewidth="56"
         frameheight="56"
         stopspotsequence="false"
         crop="0|0|56|56"
         edge="center"
         onloaded="startspotanimation(0.1);showPermanentTooltip(touch);"
         onhover="onhoverIconPOINTINFO2"
         onover="onoverIconPOINTINFO2"
         onout="onoutIconPOINTINFO2"

         height="44"
         width="44"
         />
  <action name="onhoverIconPOINTINFO2">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconPOINTINFO2">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

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

resumeautorotation(forcehotspot);

  </action>



    
  <!-- Spot Style - HAUT DROITE sonore -->


  <style name="IconHAUTDROITEsonore"
         url="%FIRSTXML%/spots/hotspot_direction_sequence_user_defaultpoint12.png"
         visible="false"
         frame="0"
         lastframe="18"
         framewidth="50"
         frameheight="50"
         stopspotsequence="false"
         crop="0|0|50|50"
         edge="center"
         rotate="315"
         onloaded="startspotanimation(0.1);showPermanentTooltip(touch);"
         onhover="onhoverIconHAUTDROITEsonore"
         onover="onoverIconHAUTDROITEsonore"
         onout="onoutIconHAUTDROITEsonore"

         height="38"
         width="38"
         />
  <action name="onhoverIconHAUTDROITEsonore">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconHAUTDROITEsonore">
tween(scale, 1.2);

pauseautorotation(forcehotspot);

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

resumeautorotation(forcehotspot);

  </action>



<!-- ********** -->
<!-- Barre de contrôle D-pad -->
<!-- id : controlBar_dpad -->
<!-- ********** -->

<krpano controlBar_dpadbarbuilt="false" controlBar_dpadhorizontalwidth="0" controlBar_dpadverticalheight="0" controlBar_dpadIsOpened="false" />

<events name="controlBar_dpadevents" 
	onxmlcomplete="controlBar_dpadbuildMenuBar();" 


	keep="true" />



<action name="controlBar_dpadbuildMenuBar">
	ifnot (controlBar_dpadbarbuilt, controlBar_dpadbuildMenu(); set(controlBar_dpadbarbuilt, true););
</action>

<action name="controlBar_dpadbuildMenu">
	
	
	
	set(controlBar_dpadbutton_pos, 10);


	if(plugin[ptpvrmode] AND device.html5,
		set(layer[controlBar_dpadbtn_enter_vr].y, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadbtn_enter_vr_not].y, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
	);


		if (device.fullscreensupport,
			set(layer[controlBar_dpadbtn_openfs].y, get(controlBar_dpadbutton_pos));
			set(layer[controlBar_dpadbtn_closefs].y, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
		);
	
	

		if(plugin[gyroscope],
			set(controlBar_dpadDisplayGyroscopeButton, false);
			if (device.tablet, set(controlBar_dpadDisplayGyroscopeButton, true););
			if (device.mobile, set(controlBar_dpadDisplayGyroscopeButton, true););
			if(controlBar_dpadDisplayGyroscopeButton,
				set(layer[controlBar_dpadbtn_gyroscope_on].y, get(controlBar_dpadbutton_pos));
				set(layer[controlBar_dpadbtn_gyroscope_off].y, get(controlBar_dpadbutton_pos));
				set(layer[controlBar_dpadbtn_gyroscope_not].y, get(controlBar_dpadbutton_pos));
				inc(controlBar_dpadbutton_pos, 40);
			);
		);

	
	
		set(layer[controlBar_dpadbtn_autorotate_on ].y, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadbtn_autorotate_off].y, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
	

	

	
	if (controlBar_dpadbutton_pos != 10,
		set(layer[controlBar_dpadmenu_vertical_bg].height, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadmenu_vertical_bg_border].height, get(controlBar_dpadbutton_pos));
		set(controlBar_dpadverticalheight, get(controlBar_dpadbutton_pos));


	,
		set(layer[controlBar_dpadmenu_vertical_bg].height, 0);
		set(layer[controlBar_dpadmenu_vertical_bg_border].height, 0);


	);
	
	
	
	set(controlBar_dpadbutton_pos, 10);
	
	
	

		set(layer[controlBar_dpadbtn_sound_off].x, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadbtn_sound_on ].x, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
		set(layer[controlBar_dpadVolumeBarContainer].x, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, get(layer[controlBar_dpadVolumeBarContainer].width));
		inc(controlBar_dpadbutton_pos, 10);

	
	
	

	
		set(layer[controlBar_dpadbtn_display_map].x, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadbtn_hide_map].x, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
	
		set(layer[controlBar_dpadbtn_share].x, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
	

	
		if (device.desktop,
			set(layer[controlBar_dpadbtn_display_help].x, get(controlBar_dpadbutton_pos));
			set(layer[controlBar_dpadbtn_close_help].x, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
		);
	
	if (controlBar_dpadbutton_pos != 10,
		set(layer[controlBar_dpadmenu_horizontal_bg].width, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadmenu_horizontal_bg_border].width, get(controlBar_dpadbutton_pos));
		set(controlBar_dpadhorizontalwidth, get(controlBar_dpadbutton_pos));
	,
		set(layer[controlBar_dpadmenu_horizontal_bg].width, 0);
	);
	
	
	
	
	controlBar_dpadSetVolumeBarOffsetX();
</action>


<events name="controlBar_dpadStartTourEvents" onTourStart="controlBar_dpadCallOnStartTour();" keep="true" />

<action name="controlBar_dpadCallOnStartTour">
	
	showTourControls();

</action>


	<action name="controlBar_dpadSetVolumeBarOffsetX">
		
		
		add(volumeBarPosX, get(layer[controlBar_dpadVolumeBarContainer].x), get(layer[get(layer[controlBar_dpadVolumeBarContainer].parent)].x));
		
		set(layer[controlBar_dpadVolumeBarContainer].xoffset, get(volumeBarPosX));
		
		controlBar_dpadSetupVolumeBar();
	</action>
		
	
	<action name="controlBar_dpadSetupVolumeBar">
		controlBar_dpadCalculateSegmentWidth();
		
		for(set(volumei,0), volumei LT layer[controlBar_dpadVolumeBarContainer].segmentCount, inc(volumei), 
			controlBar_dpadCreateVolumeSegment(get(volumei));
		);
	</action>
	
	<action name="controlBar_dpadCalculateSegmentWidth">
		sub(layer[controlBar_dpadVolumeBarContainer].intervalCount, get(layer[controlBar_dpadVolumeBarContainer].segmentCount), 1);
		
		mul(totalIntervalWidth, get(layer[controlBar_dpadVolumeBarContainer].intervalWidth), get(layer[controlBar_dpadVolumeBarContainer].intervalCount));
		
		sub(totalSegmentWidth, get(layer[controlBar_dpadVolumeBarContainer].width), get(totalIntervalWidth));
		
		div(layer[controlBar_dpadVolumeBarContainer].segmentWidth, get(totalSegmentWidth), get(layer[controlBar_dpadVolumeBarContainer].segmentCount));
		
		add(layer[controlBar_dpadVolumeBarContainer].incrementPosX, get(layer[controlBar_dpadVolumeBarContainer].segmentWidth), get(layer[controlBar_dpadVolumeBarContainer].intervalWidth));
		
		div(layer[controlBar_dpadVolumeBarContainer].incrementHeight, get(layer[controlBar_dpadVolumeBarContainer].height), get(layer[controlBar_dpadVolumeBarContainer].segmentCount));
	</action>
	
	<action name="controlBar_dpadCreateVolumeSegment">
		set(volumeSegmentName, 'volumeSegment_');
		txtadd(volumeSegmentName, %1);
		
		mul(posX, get(layer[controlBar_dpadVolumeBarContainer].incrementPosX), %1);
		
		mul(segmentHeight, get(layer[controlBar_dpadVolumeBarContainer].incrementHeight), %1);
		add(segmentHeight, get(layer[controlBar_dpadVolumeBarContainer].incrementHeight));
		
		addlayer(get(volumeSegmentName));
		set(layer[get(volumeSegmentName)].keep, true);
		set(layer[get(volumeSegmentName)].type, container);
		set(layer[get(volumeSegmentName)].align, bottomleft);
		set(layer[get(volumeSegmentName)].parent, controlBar_dpadVolumeBarContainer);
		set(layer[get(volumeSegmentName)].x, get(posX));
		set(layer[get(volumeSegmentName)].width, get(layer[controlBar_dpadVolumeBarContainer].segmentWidth));
		set(layer[get(volumeSegmentName)].height, get(segmentHeight));
		
		set(layer[get(volumeSegmentName)].bgcolor, get(layer[controlBar_dpadVolumeBarContainer].lightColor));
		set(layer[get(volumeSegmentName)].bgalpha, 1);
	</action>
	
	<action name="controlBar_dpadAdjustHighlightToVolume">
		mul(segmentToHighlight, %1, get(layer[controlBar_dpadVolumeBarContainer].segmentCount));
		div(segmentToHighlight, 100);
		Math.ceil(segmentToHighlight); 
		
		for(set(volumej,0), volumej LT layer[controlBar_dpadVolumeBarContainer].segmentCount, inc(volumej), 
			set(volumeSegmentName, 'volumeSegment_');
			txtadd(volumeSegmentName, get(volumej));
			
			if(volumej LT segmentToHighlight,
				set(layer[get(volumeSegmentName)].bgcolor, get(layer[controlBar_dpadVolumeBarContainer].lightColor));
				set(layer[get(volumeSegmentName)].bgalpha, 1.0);
			,
				set(layer[get(volumeSegmentName)].bgcolor, get(layer[controlBar_dpadVolumeBarContainer].darkColor));
				set(layer[get(volumeSegmentName)].bgalpha, 0.4);
			);
		);
	</action>
	
	<action name="controlBar_dpadVolumeBarClickHandler">
		if(false,
			
			sub(localPosX, stagewidth, get(layer[controlBar_dpadVolumeBarContainer].xoffset));
			sub(localPosX, mouse.stagex);
			sub(localX, get(layer[controlBar_dpadVolumeBarContainer].width), get(localPosX));
		,
			
			sub(localX, mouse.stagex, get(layer[controlBar_dpadVolumeBarContainer].xoffset));
		);
		
		mul(percent, get(localX), 100);
		div(percent, get(layer[controlBar_dpadVolumeBarContainer].width));
		Math.ceil(percent);
		
		
		setTourSoundsVolume(get(percent));
		
		
		if(tour_soundson == false,
			playTourSounds();
		);
		
		controlBar_dpadAdjustHighlightToVolume(get(percent));
	</action>
	


<style name="controlBar_dpadbtn_vertical_style"
	keep="true"
	align="bottom"
	onhover="controlBar_dpadshowVerticalMenuTooltip();"
	onout="hideTooltip();"
	crop="0|0|30|30"
	onovercrop="0|30|30|30"
	ondowncrop="0|60|30|30"
	x="0"
	/>
<style name="controlBar_dpadbtn_vertical_style_off"
	keep="true"
	align="bottom"
	onhover="controlBar_dpadshowVerticalMenuTooltip();"
	onout="hideTooltip();"
	x="0"
	/>
<style name="controlBar_dpadbtn_vertical_style_alpha"
	alpha="1.0"
	devices="tablet.or.mobile"
	/>
<style name="controlBar_dpadbtn_vertical_style_alpha"
	alpha="0.2"
	devices="desktop"
	/>

<style name="controlBar_dpadmenu_bg_alpha"
	alpha="0.2"
	devices="desktop"
	/>
<style name="controlBar_dpadmenu_bg_alpha"
	alpha="0.5"
	devices="tablet.or.mobile"
	/>

<layer name="controlBar_dpadmenu_vertical_bg"
	url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_vertical.png"
	keep="true"
	align="bottomleft"
	x="57"
	y="111"
	edge="bottom"
	zorder="1"
	scale9grid="12|10|3|40"
	style="controlBar_dpadmenu_bg_alpha"
	visible="false"
	/>

<layer name="controlBar_dpadmenu_vertical_bg_border"
	url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_vertical.png"
	keep="true"
	align="bottomleft"
	x="57"
	y="111"
	edge="bottom"
	zorder="2"
	scale9grid="12|10|3|40"
	onout="controlBar_dpadvertical_onout_action();"
	onover="controlBar_dpadvertical_onover_action();"
	visible="false"
	>

  <layer name="controlBar_dpadbtn_autorotate_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_start_autorotation.png"
          onclick="resumeautorotation();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautorotateOnTip"
          />
  <layer name="controlBar_dpadbtn_autorotate_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_stop_autorotation.png"
          onclick="pauseautorotation();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautorotateOffTip"
          />



  <layer name="controlBar_dpadbtn_openfs"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_enter_fs.png"
          onclick="enterFullscreen();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          tooltip="controlBar_dpadopenFsTip"
          visible="false"
          devices="fullscreensupport"
          />
  <layer name="controlBar_dpadbtn_closefs"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_close_fs.png"
          onclick="exitFullscreen();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadcloseFsTip"
          devices="fullscreensupport"
          />


  <layer name="controlBar_dpadbtn_enter_vr"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_vr_mode.png"
          onclick="if(scene[get(xml.scene)].full360 AND disableCurrentSceneVrConservation !== true,
    js(accessWebVr(get(xml.scene),get(videoscenestarttime)));
,
    js(accessWebVr(null));
);"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          tooltip="controlBar_dpadenterVRTip"
          visible="false"
          devices="html5"
          />
    <layer name="controlBar_dpadbtn_enter_vr_not"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_vr_mode_off.png"
            style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
            tooltip="controlBar_dpadenterVRNotTip"
            enabled="true"
            capture="false"
            visible="false"
            devices="html5"
            />

  <layer name="controlBar_dpadbtn_gyroscope_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_gyroscope.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          onclick="disableGyroscope();
"
          devices="html5"
          visible="false"
            tooltip="controlBar_dpadgyroOffTip"
          />
  <layer name="controlBar_dpadbtn_gyroscope_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_gyroscope.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          onclick="enableGyroscope();
"
          devices="html5"
            tooltip="controlBar_dpadgyroOnTip"
          visible="false"
          />
  <layer name="controlBar_dpadbtn_gyroscope_not"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_gyroscope_off.png"
          style="controlBar_dpadbtn_vertical_style_off|controlBar_dpadbtn_vertical_style_alpha"
          enabled="true"
          capture="false"
          devices="html5"
            tooltip="controlBar_dpadgyroNotTip"
          visible="false"
          />


</layer>

  <action name="controlBar_dpadvertical_onout_action">
    set(layer[controlBar_dpadmenu_vertical_bg].alpha, 0.2);
    if (device.fullscreensupport,
      set(layer[controlBar_dpadbtn_openfs].alpha, 0.2);
      set(layer[controlBar_dpadbtn_closefs].alpha, 0.2);
    );

    if(layer[controlBar_dpadbtn_enter_vr],
      set(layer[controlBar_dpadbtn_enter_vr].alpha, 0.2);
    );

    set(layer[controlBar_dpadbtn_autorotate_off].alpha, 0.2);
    set(layer[controlBar_dpadbtn_autorotate_on ].alpha, 0.2);
  </action>

  <action name="controlBar_dpadvertical_onover_action">
    set(layer[controlBar_dpadmenu_vertical_bg].alpha, 1);
    if (device.fullscreensupport,
      set(layer[controlBar_dpadbtn_openfs].alpha, 1);
      set(layer[controlBar_dpadbtn_closefs].alpha, 1);
    );

    if(layer[controlBar_dpadbtn_enter_vr],
      set(layer[controlBar_dpadbtn_enter_vr].alpha, 1);
    );

    set(layer[controlBar_dpadbtn_autorotate_off].alpha, 1);
    set(layer[controlBar_dpadbtn_autorotate_on ].alpha, 1);
  </action>

  <action name="controlBar_dpadhorizontal_onout_action">
    set(layer[controlBar_dpadmenu_horizontal_bg].alpha, 0.2);

    set(layer[controlBar_dpadbtn_share].alpha, 0.2);


    set(layer[controlBar_dpadbtn_sound_on].alpha, 0.2);
    set(layer[controlBar_dpadbtn_sound_off].alpha, 0.2);
	set(layer[controlBar_dpadVolumeBarContainer].alpha, 0.2);


    set(layer[controlBar_dpadbtn_display_map].alpha, 0.2);
    set(layer[controlBar_dpadbtn_hide_map].alpha, 0.2);

    if (device.desktop,
      set(layer[controlBar_dpadbtn_display_help].alpha, 0.2);
      set(layer[controlBar_dpadbtn_close_help].alpha, 0.2);
    ); 
  </action>

  <action name="controlBar_dpadhorizontal_onover_action">
    set(layer[controlBar_dpadmenu_horizontal_bg].alpha, 1);

    set(layer[controlBar_dpadbtn_share].alpha, 1);


    set(layer[controlBar_dpadbtn_sound_on].alpha, 1);
    set(layer[controlBar_dpadbtn_sound_off].alpha, 1);
	set(layer[controlBar_dpadVolumeBarContainer].alpha, 1);


    set(layer[controlBar_dpadbtn_display_map].alpha, 1);
    set(layer[controlBar_dpadbtn_hide_map].alpha, 1);

    if (device.desktop,
      set(layer[controlBar_dpadbtn_display_help].alpha, 1);
      set(layer[controlBar_dpadbtn_close_help].alpha, 1);
    );
  </action>

  <style name="controlBar_dpadbtn_horizontal_style"
         keep="true"
         align="left"
         onhover="controlBar_dpadshowHorizontalMenuTooltip();"
         onout="hideTooltip();"
               crop="0| 0|30|30"
         onovercrop="0|30|30|30"
         ondowncrop="0|60|30|30"
         y="0"
         />
<style name="controlBar_dpadbtn_horizontal_style_alpha"
	alpha="1.0"
	devices="tablet.or.mobile"
	/>
<style name="controlBar_dpadbtn_horizontal_style_alpha"
	alpha="0.2"
	devices="desktop"
	/>

  <layer name="controlBar_dpadmenu_horizontal_bg"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_horizontal.png"
          keep="true"
          align="bottomleft"
          x="111"
          y="57"
          edge="left"
          zorder="1"
          scale9grid="10|12|40|3"
          style="controlBar_dpadmenu_bg_alpha"
          visible="false"
          />

  <layer name="controlBar_dpadmenu_horizontal_bg_border"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_horizontal.png"
          keep="true"
          align="bottomleft"
          x="111"
          y="57"
          edge="left"
          zorder="2"
          scale9grid="10|12|40|3"
          onout="controlBar_dpadhorizontal_onout_action();"
          onover="controlBar_dpadhorizontal_onover_action();"
          visible="false"
          >
    <layer name="controlBar_dpadbtn_share"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_share.png"
            onclick="shareTour();
"
            style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
            tooltip="controlBar_dpadshareTip"
            visible="false"
            />


  <layer name="controlBar_dpadbtn_sound_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_start_sound.png"
          onclick="playTourSounds();
"
          style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
          visible="false"
          tooltip="controlBar_dpadsoundsOnTip"
          />
  <layer name="controlBar_dpadbtn_sound_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_stop_sound.png"
          onclick="stopTourSounds();
"
          style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
          visible="false"
          tooltip="controlBar_dpadsoundsOffTip"
          />
	<layer name="controlBar_dpadVolumeBarContainer"
		type="container"
		width="48"
		height="15"
		keep="true"
		align="left"
		x="0"
		y="0"
		visible="false"
		style="controlBar_dpadbtn_horizontal_style_alpha"
		
		xoffset="0"
		
		bgcolor="0x3a3f72"
		bgalpha="0.00000001"
		bgcapture="true"
		
		segmentCount="10"
		segmentWidth="0" 
		
		intervalCount="0" 
		intervalWidth="2"
		
		incrementPosX="0"
		incrementHeight="0"
		
		lightColor="0xbafefd"
		darkColor="0xbafefd"
		
		onclick="controlBar_dpadVolumeBarClickHandler"
	/>


  <layer name="controlBar_dpadbtn_display_map"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_map.png"
          onclick="controlBar_dpaddisplayMap();"
          style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
          tooltip="controlBar_dpaddisplayMapTip"
          visible="false"
          />
  <layer name="controlBar_dpadbtn_hide_map"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_map.png"
          onclick="controlBar_dpadhideMap();"
          style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
          visible="false"
          tooltip="controlBar_dpadhideMapTip"
          />


    <layer name="controlBar_dpadbtn_display_help"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_help.png"
            onclick="controlBar_dpaddisplayHelp();"
            style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
            tooltip="controlBar_dpaddisplayHelpTip"
            devices="desktop"
            visible="false"
            />
    <layer name="controlBar_dpadbtn_close_help"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_help.png"
            onclick="controlBar_dpadcloseHelp();"
            style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
            tooltip="controlBar_dpadhideHelpTip"
            devices="desktop"
            visible="false"
            />



  </layer>


	
	<style name="controlBar_dpadbtn_navigation_style"
		keep="true"
		onhover="controlBar_dpadshowVerticalMenuTooltip();"
		onout="hideTooltip();"
		crop="0|0|30|30"
		onovercrop="0|30|30|30"
		ondowncrop="0|60|30|30"
	/>
	<style name="controlBar_dpadbtn_navigation_style_alpha"
		alpha="1.0"
		devices="tablet.or.mobile"
	/>
	<style name="controlBar_dpadbtn_navigation_style_alpha"
		alpha="0.2"
		devices="desktop"
	/>
	<style name="controlBar_dpadbtn_navigation_style_showctrl"
		keep="true"
		onout="hideTooltip();set(alpha, 0.5);"
		onover="set(alpha, 1);"
	/>
	
	<layer name="controlBar_dpadnavigation_bg"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_move.png"
		align="bottomleft"
		x="3"
		y="3"
		keep="true"
		capture="false"
		zorder="1"
		style="controlBar_dpadmenu_bg_alpha"
		visible="false"
		/>

  <layer name="controlBar_dpadnavigation_bg_border"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_move.png"
          keep="true"
          align="bottomleft"
          x="3"
          y="3"
          capture="false"
          zorder="2"
          onout="controlBar_dpadnav_onout_action();"
          onover="controlBar_dpadnav_onover_action();"
          visible="false"
          >
    <layer name="controlBar_dpadbtn_left"
            ondown="viewControlMoveLeft(false);
"
            onup="viewControlMoveHoriStop();
"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_left.png"
            style="controlBar_dpadbtn_navigation_style|controlBar_dpadbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveLeftTip"
            x="5"
            y="0"
            edge="left"
            align="left"
            visible="false"
             />
    <layer name="controlBar_dpadbtn_right"
            ondown="viewControlMoveRight(false);
"
            onup="viewControlMoveHoriStop();
"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_right.png"
            style="controlBar_dpadbtn_navigation_style|controlBar_dpadbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveRightTip"
            x="5"
            y="0"
            edge="right"
            align="right"
            visible="false"
             />
    <layer name="controlBar_dpadbtn_up"
            ondown="viewControlMoveUp(false);
"
            onup="viewControlMoveVertStop();
"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_up.png"
            style="controlBar_dpadbtn_navigation_style|controlBar_dpadbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveUpTip"
            x="0"
            y="5"
            align="top"
            edge="top"
            visible="false"
             />
    <layer name="controlBar_dpadbtn_down"
            ondown="viewControlMoveDown(false);
"
            onup="viewControlMoveVertStop();
"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_down.png"
            style="controlBar_dpadbtn_navigation_style|controlBar_dpadbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveDownTip"
            x="0"
            y="5"
            edge="bottom"
            align="bottom"
            visible="false"
             />

	<layer name="controlBar_dpadbtn_hidecontrols"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_hide_controls.png"
		style="controlBar_dpadbtn_navigation_style"
		onclick="hideTourControls();
"
		edge="center"
		align="center"
		tooltip="controlBar_dpadhideControlsTip"
		visible="false"
		alpha="1.0"
		/>
	<layer name="controlBar_dpadbtn_showcontrols"
		onclick="showTourControls();
"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_show_controls.png"
		style="controlBar_dpadbtn_navigation_style|controlBar_dpadbtn_navigation_style_showctrl"
		align="center"
		edge="center"
		visible="false"
		alpha="0.5"
		tooltip="controlBar_dpaddisplayControlsTip"
		/>
	
</layer>


  <action name="controlBar_dpadnav_onout_action">
    set(layer[controlBar_dpadnavigation_bg].alpha, 0.2);
    set(layer[controlBar_dpadbtn_left].alpha, 0.2);
    set(layer[controlBar_dpadbtn_right].alpha, 0.2);
    set(layer[controlBar_dpadbtn_up].alpha, 0.2);
    set(layer[controlBar_dpadbtn_down].alpha, 0.2);
  </action>

  <action name="controlBar_dpadnav_onover_action">
    set(layer[controlBar_dpadnavigation_bg].alpha, 1);
    set(layer[controlBar_dpadbtn_left].alpha, 1);
    set(layer[controlBar_dpadbtn_right].alpha, 1);
    set(layer[controlBar_dpadbtn_up].alpha, 1);
    set(layer[controlBar_dpadbtn_down].alpha, 1);
  </action>


	<events name="controlBar_dpadplaystopsoundsevent" playtoursoundsevent="controlBar_dpadupdateSoundButtons();" stoptoursoundsevent="controlBar_dpadupdateSoundButtons();" keep="true"/>
	<action name="controlBar_dpadHideSoundButtons">
		set(layer[controlBar_dpadbtn_sound_off].visible, false);
		set(layer[controlBar_dpadbtn_sound_on].visible , false);
		set(layer[controlBar_dpadVolumeBarContainer].visible, false);
	</action>
	<action name="controlBar_dpadShowSoundButtons">
		if (tour_soundson == false,
			set(layer[controlBar_dpadbtn_sound_off].visible, false);
			set(layer[controlBar_dpadbtn_sound_on].visible , true);
			set(layer[controlBar_dpadVolumeBarContainer].visible, true);
			controlBar_dpadAdjustHighlightToVolume(0);
		,
			set(layer[controlBar_dpadbtn_sound_off].visible, true);
			set(layer[controlBar_dpadbtn_sound_on].visible , false);
			set(layer[controlBar_dpadVolumeBarContainer].visible, true);
			controlBar_dpadAdjustHighlightToVolume(get(tour_soundsvolume));
		);
	</action>
	<action name="controlBar_dpadupdateSoundButtons">
		if (tour_displaycontrols,
			controlBar_dpadShowSoundButtons();
		,
			controlBar_dpadHideSoundButtons();
		);
	</action>


	<events name="controlBar_dpadAutorotationEvents"
		onstartautorotation="controlBar_dpadupdateAutorotationButtons();"
		onresumeautorotation="controlBar_dpadupdateAutorotationButtons();"
		onstopautorotation="controlBar_dpadupdateAutorotationButtons();"
		onpauseautorotation="controlBar_dpadupdateAutorotationButtons();"
		keep="true"/>
	<action name="controlBar_dpadHideAutorotationButtons">
		set(layer[controlBar_dpadbtn_autorotate_off].visible, false);
		set(layer[controlBar_dpadbtn_autorotate_on].visible , false);
	</action>
	<action name="controlBar_dpadShowAutorotationButtons">
		if(autorotate.enabled == false,
			set(layer[controlBar_dpadbtn_autorotate_off].visible, false);
			set(layer[controlBar_dpadbtn_autorotate_on].visible , true);
		,
			set(layer[controlBar_dpadbtn_autorotate_off].visible, true);
			set(layer[controlBar_dpadbtn_autorotate_on].visible , false);
		);
	</action>
	<action name="controlBar_dpadupdateAutorotationButtons">
		if (tour_displaycontrols,
			controlBar_dpadShowAutorotationButtons();
		,
			controlBar_dpadHideAutorotationButtons();
		);
	</action>



	<events name="controlBar_dpadmenufullscreenchangeevent"
		onenterfullscreen="controlBar_dpadupdateFullscreenButtons();"
		onexitfullscreen="controlBar_dpadupdateFullscreenButtons();"
		keep="true"/>
	<action name="controlBar_dpadHideFullscreenButtons">
		set(layer[controlBar_dpadbtn_openfs].visible , false);
		set(layer[controlBar_dpadbtn_closefs].visible, false);
	</action>
	<action name="controlBar_dpadShowFullscreenButtons">
		if (device.fullscreensupport,
			if(tour_fullscreen,
				set(layer[controlBar_dpadbtn_openfs].visible , false);
				set(layer[controlBar_dpadbtn_closefs].visible, true);
			,
				set(layer[controlBar_dpadbtn_openfs].visible ,true);
				set(layer[controlBar_dpadbtn_closefs].visible,false);
			);
		,
			controlBar_dpadHideFullscreenButtons();
		);
	</action>
	<action name="controlBar_dpadupdateFullscreenButtons">
		if (tour_displaycontrols,
			controlBar_dpadShowFullscreenButtons();
		,
			controlBar_dpadHideFullscreenButtons();
		);
	</action>
	

<events name="controlBar_dpadvravailableevent"
		onvravailable="controlBar_dpadupdateVrButtonsAvailability();"
		onvrunavailable="controlBar_dpadupdateVrButtonsAvailability();"
		keep="true" devices="html5" />
	<krpano controlBar_dpadmenuvravailable="false" />
	<action name="controlBar_dpadupdateVrButtonsAvailability">
		if (tour_vrdevices,
			set(controlBar_dpadmenuvravailable, true);
		,
			set(controlBar_dpadmenuvravailable, false);
		);
		controlBar_dpadupdateVrButtons();
	</action>
	<action name="controlBar_dpadHideVrButtons">
		set(layer[controlBar_dpadbtn_enter_vr].visible, false);
		if('%1' == 'true' AND plugin[ptpvrmode],
			set(layer[controlBar_dpadbtn_enter_vr_not].visible, true);
		,
			set(layer[controlBar_dpadbtn_enter_vr_not].visible, false);
		);
	</action>
	<action name="controlBar_dpadShowVrButtons">
		if (controlBar_dpadmenuvravailable,
			set(layer[controlBar_dpadbtn_enter_vr].visible, true);
			set(layer[controlBar_dpadbtn_enter_vr_not].visible, false);
		,
			controlBar_dpadHideVrButtons(true);
		);
	</action>
	<action name="controlBar_dpadupdateVrButtons">
	if (tour_vrdevices,
		if (tour_displaycontrols,
			controlBar_dpadShowVrButtons();
		,
			controlBar_dpadHideVrButtons();
		);
	,
		if (tour_displaycontrols,
			controlBar_dpadHideVrButtons(true);
		,
			controlBar_dpadHideVrButtons();
		);
	);
	</action>

  <events name="controlBar_dpadbtngyroscopeavailableevents"
          ongyroscopeavailable="controlBar_dpadupdateGyroscopeButtonsAvailability();"
          ongyroscopeunavailable="controlBar_dpadupdateGyroscopeButtonsAvailability();"
          ongyroscopeon="controlBar_dpadenableGyroscopeButtons(true);"
          ongyroscopeoff="controlBar_dpadenableGyroscopeButtons(false);"
          keep="true" devices="html5" />
  <krpano controlBar_dpadmenugyroscopeavailable="false"
          controlBar_dpadmenugyroscopeenabled="false"/>
  <action name="controlBar_dpadupdateGyroscopeButtonsAvailability">
    if (tour_gyroscopedevices,
      set(controlBar_dpadmenugyroscopeavailable, true);
      controlBar_dpadupdateGyroscopeButtons();
    ,
      set(controlBar_dpadmenugyroscopeavailable, false);
      controlBar_dpadupdateGyroscopeButtons();
    );
  </action>
  <action name="controlBar_dpadenableGyroscopeButtons">
    if (tour_gyroscopedevices,
      set(controlBar_dpadmenugyroscopeenabled, %1);
      controlBar_dpadupdateGyroscopeButtons();
    );
  </action>
	<action name="controlBar_dpadHideGyroscopeButtons">
		set(layer[controlBar_dpadbtn_gyroscope_off].visible, false);
		set(layer[controlBar_dpadbtn_gyroscope_on].visible, false);
		if('%1' == 'true' AND plugin[gyroscope],
			set(layer[controlBar_dpadbtn_gyroscope_not].visible, true);
		,
			set(layer[controlBar_dpadbtn_gyroscope_not].visible, false);
		);
	</action>
	<action name="controlBar_dpadShowGyroscopeButtons">
		if (controlBar_dpadmenugyroscopeavailable,
			if (controlBar_dpadmenugyroscopeenabled,
				set(layer[controlBar_dpadbtn_gyroscope_off].visible, true);
				set(layer[controlBar_dpadbtn_gyroscope_on].visible, false);
			,
				set(layer[controlBar_dpadbtn_gyroscope_off].visible, false);
				set(layer[controlBar_dpadbtn_gyroscope_on].visible, true);
			);
			set(layer[controlBar_dpadbtn_gyroscope_not].visible, false);
		,
			controlBar_dpadHideGyroscopeButtons(true);
		);
	</action>
	<action name="controlBar_dpadupdateGyroscopeButtons">
	if (tour_gyroscopedevices,
		if (tour_displaycontrols,
			controlBar_dpadShowGyroscopeButtons();
		,
			controlBar_dpadHideGyroscopeButtons();
		);
	,
		if (tour_displaycontrols,
			controlBar_dpadHideGyroscopeButtons(true);
		,
			controlBar_dpadHideGyroscopeButtons();
		);
	);
	</action>
	

	<events name="controlBar_dpadmenuhideshowcontrolsevent"
		hidetourcontrols="controlBar_dpadhideMenuControls();"
		showtourcontrols="controlBar_dpadshowMenuControls();"
		keep="true"/>
	

<action name="controlBar_dpadhideMenuControls">
		set(controlBar_dpadIsOpened, false);
		set(layer[controlBar_dpadnavigation_bg].visible, false);
		
			set(layer[controlBar_dpadbtn_up].visible, false);
			set(layer[controlBar_dpadbtn_down].visible, false);
			set(layer[controlBar_dpadbtn_left].visible, false);
			set(layer[controlBar_dpadbtn_right].visible, false);
		
		set(layer[controlBar_dpadnavigation_bg_border].visible, true);
		tween(layer[controlBar_dpadnavigation_bg_border].alpha, 0.5, 1);
		
		
		if(controlBar_dpadverticalheight GT 0,
			set(layer[controlBar_dpadmenu_vertical_bg].visible, false);

				controlBar_dpadupdateGyroscopeButtons();

				controlBar_dpadupdateAutorotationButtons();

				controlBar_dpadupdateVrButtons();

				controlBar_dpadupdateFullscreenButtons();
			tween(layer[controlBar_dpadmenu_vertical_bg_border].alpha , 0, 1);
			tween(layer[controlBar_dpadmenu_vertical_bg_border].height , 0, 1, easeOutQuad, set(layer[controlBar_dpadmenu_vertical_bg_border].visible, false));
		);
		
		
		if(controlBar_dpadhorizontalwidth != 0,
			set(layer[controlBar_dpadmenu_horizontal_bg].visible, false);

				set(layer[controlBar_dpadbtn_share].visible, false);


				controlBar_dpadupdateSoundButtons();
				controlBar_dpadupdateMapButtons();

				controlBar_dpadupdateHelpButtons();


			tween(layer[controlBar_dpadmenu_horizontal_bg_border].alpha , 0, 1);
			tween(layer[controlBar_dpadmenu_horizontal_bg_border].width, 0, 1, easeOutQuad, set(layer[controlBar_dpadmenu_horizontal_bg_border].visible, false));
		);
		set(layer[controlBar_dpadbtn_showcontrols].visible, true);
		set(layer[controlBar_dpadbtn_hidecontrols].visible, false);
	</action>
	
	<action name="controlBar_dpadshowMenuControls">
	set(controlBar_dpadIsOpened, true);
    set(layer[controlBar_dpadbtn_showcontrols].visible, false);
    set(layer[controlBar_dpadbtn_hidecontrols].visible, true);
    set(layer[controlBar_dpadnavigation_bg].visible, true);

    set(layer[controlBar_dpadbtn_up].visible, true);
    set(layer[controlBar_dpadbtn_down].visible, true);
    set(layer[controlBar_dpadbtn_left].visible, true);
    set(layer[controlBar_dpadbtn_right].visible, true);

    set(layer[controlBar_dpadnavigation_bg_border].visible, true);
    tween(layer[controlBar_dpadnavigation_bg_border].alpha, 1, 1);

    
    if(controlBar_dpadverticalheight GT 0,
      set(layer[controlBar_dpadmenu_vertical_bg_border].visible, true);
      tween(layer[controlBar_dpadmenu_vertical_bg_border].alpha, 1, 1);
      tween(layer[controlBar_dpadmenu_vertical_bg_border].height, get(controlBar_dpadverticalheight), 1, easeOutQuad,
        set(layer[controlBar_dpadmenu_vertical_bg].visible, true);
        controlBar_dpadupdateFullscreenButtons();
        controlBar_dpadupdateAutorotationButtons();

        controlBar_dpadupdateVrButtons();


        controlBar_dpadupdateGyroscopeButtons();

      );
    );

    
    if(controlBar_dpadhorizontalwidth != 0,
      set(layer[controlBar_dpadmenu_horizontal_bg_border].visible, true);
      tween(layer[controlBar_dpadmenu_horizontal_bg_border].alpha, 1, 1);
      tween(layer[controlBar_dpadmenu_horizontal_bg_border].width, get(controlBar_dpadhorizontalwidth), 1, easeOutQuad,
        set(layer[controlBar_dpadmenu_horizontal_bg].visible, true);

      set(layer[controlBar_dpadbtn_share].visible, true);


        controlBar_dpadupdateSoundButtons();


        controlBar_dpadupdateMapButtons();

        controlBar_dpadupdateHelpButtons();


      );
    );
  </action>

  <layer name="controlBar_dpadhelpScreen"
         url="%FIRSTXML%/graphics/crosscornerbar/help_screen_bg.png"
         keep="true"
         align="bottomleft"
	     x="103"
	     y="103"
         zorder="97"
         onclick="controlBar_dpadcloseHelp();"
         visible="false"
         width="prop"
         height="10%"
         alpha="0.0"
         onout="set(alpha, 0.2);"
         onover="stoptween(alpha);set(alpha, 1.0);"
         />
  <layer name="controlBar_dpadhelpScreenFg"
         url="%FIRSTXML%/graphics/crosscornerbar/help_screen_fg.png"
         width="prop"
         height="10%"
         x="103"
	     y="103"
         keep="true"
         enabled="false"
         capture="false"
         align="bottomleft"
         zorder="98"
         onclick="controlBar_dpadcloseHelp();"
         visible="false"
         alpha="0.0"
         displayed="false"
         saveheight="0"
         />

  <action name="controlBar_dpaddisplayHelp">
    if (device.desktop,
    set(layer[controlBar_dpadhelpScreenFg].displayed, true);
    set(layer[controlBar_dpadhelpScreenFg].visible, true);
    set(layer[controlBar_dpadhelpScreen].visible, true);
    tween(layer[controlBar_dpadhelpScreen].height, 50%, 1);
    tween(layer[controlBar_dpadhelpScreenFg].height, 50%, 1);
    tween(layer[controlBar_dpadhelpScreen].alpha, 0.2, 1);
    tween(layer[controlBar_dpadhelpScreenFg].alpha, 1.0, 1);
    controlBar_dpadupdateHelpButtons();
    );
  </action>
  <action name="controlBar_dpadcloseHelp">
    if (device.desktop,
    set(layer[controlBar_dpadhelpScreenFg].displayed, false);
    tween(layer[controlBar_dpadhelpScreen].alpha, 0.0, 1);
    tween(layer[controlBar_dpadhelpScreenFg].alpha, 0.0, 1);
    tween(layer[controlBar_dpadhelpScreen].height, 10%, 1, easeOutQuad,
      set(layer[controlBar_dpadhelpScreen].visible, false);
    );
    tween(layer[controlBar_dpadhelpScreenFg].height, 10%, 1, easeOutQuad,
      set(layer[controlBar_dpadhelpScreenFg].visible, false);
    );
    controlBar_dpadupdateHelpButtons();
    );
  </action>
	<action name="controlBar_dpadHideHelpButtons">
		set(layer[controlBar_dpadbtn_display_help].visible, false);
		set(layer[controlBar_dpadbtn_close_help].visible, false);
	</action>
	<action name="controlBar_dpadShowHelpButtons">
		if (layer[controlBar_dpadhelpScreenFg].displayed,
			set(layer[controlBar_dpadbtn_close_help].visible, true);
			set(layer[controlBar_dpadbtn_display_help].visible, false);
		,
			set(layer[controlBar_dpadbtn_display_help].visible, true);
			set(layer[controlBar_dpadbtn_close_help].visible, false);
		);
	</action>
	<action name="controlBar_dpadupdateHelpButtons">
	if (device.desktop,
		if (tour_displaycontrols,
			controlBar_dpadShowHelpButtons();
		,
			controlBar_dpadHideHelpButtons();
		);
	,
		controlBar_dpadHideHelpButtons();
	);
	</action>
  


  <action name="controlBar_dpadshowHorizontalMenuTooltip">
    if (tooltip !== null, showTooltip('plugin', NULL, bottom););
  </action>
  <action name="controlBar_dpadshowVerticalMenuTooltip">
    if (tooltip !== null, showTooltip('plugin', NULL, left););
  </action>



  <action name="controlBar_dpaddisplayMap">showMap();

  </action>
  <action name="controlBar_dpadhideMap">hideMap();

  </action>
  <events name="controlBar_dpaddisplaymapchangeevent"
          onshowtourmap="controlBar_dpadupdateMapButtons();"
          onhidetourmap="controlBar_dpadupdateMapButtons();"
          keep="true"/>
	<action name="controlBar_dpadHideMapButtons">
		set(layer[controlBar_dpadbtn_display_map].visible, false);
		set(layer[controlBar_dpadbtn_hide_map].visible, false);
	</action>
	<action name="controlBar_dpadShowMapButtons">
		if (tour_displaymap,
			set(layer[controlBar_dpadbtn_hide_map].visible, true);
			set(layer[controlBar_dpadbtn_display_map].visible, false);
		,
			set(layer[controlBar_dpadbtn_display_map].visible, true);
			set(layer[controlBar_dpadbtn_hide_map].visible, false);
		);
	</action>
	<action name="controlBar_dpadupdateMapButtons">
		if (tour_displaycontrols,
			controlBar_dpadShowMapButtons();
		,
			controlBar_dpadHideMapButtons();
		);
	</action>





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


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

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

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

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

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

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

      ifnot(delaythegyrocheck,
        set(tour_gyroscopedevices, true);
        events.dispatch(ongyroscopeavailable);
      ,
        delayedcall(1, checkGyroAvailability(););
      );
    ,
      set(tour_gyroscopedevices, false);
    );
    if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
  ,
    checkGyroUnavailable();
  );
</action>

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

<!-- ********** -->
<!-- Boutons Précédent/Suivant -->
<!-- id : prevnexttheme8 -->
<!-- ********** -->

  <style name="prevnexttheme8ArrowStyle" keep="true" x="10" alpha="0.5"
               crop="0| 0|38|38"
         onovercrop="0|38|38|38"
         ondowncrop="0|76|38|38"
         />
  <layer name="prevnexttheme8prevPanoramaArrow" style="prevnexttheme8ArrowStyle"
         url="%FIRSTXML%/graphics/prevnextdots/btn_scroll_left.png" align="left" 
         tooltip="prevnexttheme8prevSceneTip"
         onhover="set(alpha, 1);showTooltip('plugin',prevnexttheme8TooltipStyle,left);"
         onout="set(alpha, 0.5);hideTooltip();"
         onclick="loadPreviousScene();
"
         visible="false"
         zorder="4" />

  <layer name="prevnexttheme8nextPanoramaArrow" style="prevnexttheme8ArrowStyle"
         url="%FIRSTXML%/graphics/prevnextdots/btn_scroll_right.png" align="right"
         tooltip="prevnexttheme8nextSceneTip"
         onhover="set(alpha, 1);showTooltip('plugin',prevnexttheme8TooltipStyle,right);"
         onout="set(alpha, 0.5);hideTooltip();"
         onclick="loadNextScene();
"
         visible="false"
         zorder="4" />

  <events name="prevnexttheme8hideshowcontrolsevent" 
    onTourStart="prevnexttheme8showPrevNextControls();"
    keep="true"/>
  <action name="prevnexttheme8hidePrevNextControls">
    set(layer[prevnexttheme8prevPanoramaArrow].visible, false);
    set(layer[prevnexttheme8nextPanoramaArrow].visible, false);
  </action>
  <action name="prevnexttheme8showPrevNextControls">
    set(layer[prevnexttheme8prevPanoramaArrow].visible, true);
    set(layer[prevnexttheme8nextPanoramaArrow].visible, true);
  </action>

<layer name="prevnexttheme8TooltipStyle"
	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:14px;text-align:left;"
	interactivecontent="false"
	zorder="0"
	padding="2"
	xoffset="0"
	yoffset="0"
	visible="false"
	html=""
/>

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

  <events name="title_events" 
    onTourStart="showtitle();"
    hidetourcontrols="hidetitle();" 
    showtourcontrols="showtitle();" 
    onnewpano="updatetitle();"
    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">
    updatetitle();
  </action>

  <action name="updatetitle">
    getmessage(layer[title].html, get(scene[get(xml.scene)].titleid));
    escape(layer[title].html);
  </action>
  <layer name="title" keep="true" zorder="5"
         type="text"
         align="bottom" x="0" y="3"
         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:#ffffff;
              font-family:Comic Sans MS;
              font-style:italic;
              font-weight:bold;
              font-size:16px;"/>

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


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

		<option name="social_btn" value="facebook#twitter" type="string" />
		<option name="social_btn_icons" value="iconset0" type="string" />

		<option name="social_orientation" value="horizontal" type="string" />
		<option name="social_btn_size" value="64" type="int" />
		<option name="inner_margin" value="10" type="int" />
		
		
		<option name="title_displayed" value="false" type="bool" />
		<option name="caption_displayed" value="false" type="bool" />
		<option name="close_displayed" value="false" type="bool" />
		<option name="close_position" value="topright" type="string" />
		<option name="close_text" value="socialShareclose_text" type="string" />

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

	</internaldata>
</ptplugin>

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

</action>

<action name="startOpenSocialShare_socialShare">
	if(ptplugin[socialShare].jsready,
		showSocialShare_socialShare();
	,
		delayedcall(1.0,startOpenSocialShare_socialShare(););
	);
</action>


<action name="showSocialShare_socialShare">
	ifnot(ptplugin[socialShare].isOpen,
		set(ptplugin[socialShare].isOpen, true);
		
			js(invokePluginFunction(socialShare, loadSingleArrayItem, social));
		events.dispatch(onremovedisplayedobject);
	);
</action>

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


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

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

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

<events name="kolorBoxEvents_socialShare" 
	keep="true"
	onremovepano="if(ptplugin[socialShare].isOpen,closeKolorBox_socialShare(););"
	onsharetour="showSocialShare_socialShare();" 
	onTourStart="startOpenSocialShare_socialShare();"
	
	changetourlanguage="changeLanguage_socialShare();"
	/>

<!-- ********** -->
<!-- Barres et Boucles de Progression -->
<!-- id : progressbar -->
<!-- ********** -->

  <progress showwait.flash="none"
			showreloads.flash="false"
			parent=""
			/>


  <layer name="progressbar_bg"
    align="bottom"
    bgcolor="0x000000"
    bgalpha="1.0"
    bgborder="0"
    onclick="progressbar_stop();"
    enabled="true"
    handcursor="false"
    bgcapture="true"
    x="0" y="0"
    type="container"
    width="100%" height="1%"
    visible="true"
    keep="true">
      <layer name="progressbar_bar" 
        align="topleft"
        bgcolor="0x2983ad"
        bgalpha="1.0"
        x="0" y="0"
        type="container"
        width="0%"
        height="100%"
        enabled="false"
        bgshadow="0 0 2 0 0x000000 0.6 inset"
        keep="true"
        />
  </layer>
  <action name="progressbar_start">
    if(scene[get(xml.scene)].video,
      progressbar_stop();
    ,
      mul(progress_val, get(progress.progress), 100);
      txtadd(progress_percent, get(progress_val),"%");
      set(layer[progressbar_bar].width, get(progress_percent));
      delayedcall(progressbar_progresscall, 0.1,progressbar_start());
      if(progress_val == 100,
        progressbar_stop();
      );
    );
  </action>
  <action name="progressbar_stop">
    stopdelayedcall(progressbar_progresscall);
    set(layer[progressbar_bg].visible, false);
    set(layer[progressbar_bar].width, "0%");
  </action>
  <events name="progressbar_events" onloadcomplete="progressbar_stop();" onxmlcomplete="set(layer[progressbar_bg].visible, true);progressbar_start();" keep="true" />


<!-- ********** -->
<!-- Lecteur de site Internet -->
<!-- id : websiteViewer -->
<!-- ********** -->

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

		<option name="title_displayed" value="false" type="bool" />
		<option name="title_position" value="top" type="string" />
		<option name="title_font" value="Verdana" type="string" />
		<option name="title_size" value="14" type="int" />
		<option name="title_weight" value="normal" type="string" />
		<option name="title_style" value="normal" type="string" />
		<option name="title_decoration" value="none" type="string" />
		<option name="title_color" value="000000" type="string" />
		<option name="caption_displayed" value="false" type="bool" />
		<option name="iframe_scrolling" value="auto" type="string" />
		<option name="iframe_default_width" value="900" type="int" />
		<option name="iframe_default_height" value="650" type="int" />
		<option name="iframe_devices_width" value="800" type="int" />
		<option name="iframe_devices_height" value="600" type="int" />
		<option name="force_ios_scrolling" value="true" type="bool" />
		<option name="fullscreen_displayed" value="false" type="bool" />
		<option name="fullscreen_position" value="topright" type="string" />
		<option name="fullscreen_text" value="websiteViewerfullscreen_text" type="string" />




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

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

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

<action name="openWebsite_websiteViewer">
	ifnot(ptplugin[websiteViewer].isOpen,
		set(ptplugin[websiteViewer].isOpen, true);
		set(ptplugin[websiteViewer].doNotDeleteMe, false);
		getmessage(websiteViewer_boxurl, %1);
		txtadd(websiteViewer_boxurl, ?iframe=true);
		pauseautorotation(forceplugin);

		js(invokePluginFunction(websiteViewer, loadSingleArrayItem, get(websiteViewer_boxurl), %2));
		events.dispatch(onremovedisplayedobject);
	,
		if('%1' != websiteViewer_boxurl,
			closeKolorBox_websiteViewer();
			delayedcall(0.3,openWebsite_websiteViewer(%1,%2););
		);
	);
</action>

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


<action name="closeKolorBox_websiteViewer">
	js(invokePluginFunction(websiteViewer, closeKolorBox));
</action>

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

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

<action name="changeLanguage_websiteViewer">
	if(ptplugin[websiteViewer].jsready,
		stopdelayedcall(delay_websiteViewer);
		js(invokePluginFunction(websiteViewer, changeLanguage));
	,
		delayedcall(delay_websiteViewer, 0.1, changeLanguage_websiteViewer(););
	);
</action>

<events name="kolorBoxEvents_websiteViewer" 
	keep="true"
	changetourlanguage="changeLanguage_websiteViewer();"
	/>

<!-- ********** -->
<!-- Bouton simple -->
<!-- id : button -->
<!-- ********** -->
  <!-- EMPTY BUTTON : no image file -->
<!-- ********** -->
<!-- PanotourMaps -->
<!-- id : panotourmaps -->
<!-- ********** -->

		<ptplugin name="panotourmaps" lat="45.119184517467" lng="3.7265641121643" zoom="18" maptypelayer="road" openatstart="true" state="true" bgcolor="f2f2f2" zorder="10" centeronspots="true" engine="KolorMap">
	
		<radar visible="true" radius="8000" linktozoom="true" quality="8" linecolor="ffffff" lineopacity="1" linewidth="1" fillcolor="ffffff" fillopacity="0.40000000000000002" />
		
		<markers animation="false" />
		
		
		<controls zoom="true" pan="true" scale="false" maptype="true" overview="false">
			<ui draggable="true" scrollable="true" dblclick="true" />
			<specific />
		</controls>
		
		<markerSelected name="" heading="" fov="" />
		
		
			<!-- PanotourMaps markers counter : 1 -->



				<marker name="spotmap245" 
					lat="45.119159513165" 
					lng="3.7265592813492" 
					heading="-110.60000000000009" 
					draggable="false" 
					animated="false" 
					desc="spotmap245_tooltip" 
					desctype="info" 
					onhover="false" 
					isscene="true" 
					scene="pano50" 
					hasradar="true" 
					jsclick="spotmap245ActionSpotMap">
					<markericon url="spots/hotspot_plan_user_defaultmap0.png" iconwidth="20" iconheight="20" 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="topleft" type="string" />
		<option name="start_position" value="bottom" type="string" />
		<option name="margin_x" value="2" type="int" />
		<option name="margin_y" value="2" type="int" />
		<option name="background_color" value="f2f2f2" type="string" />
		<option name="background_alpha" value="0.59999999999999998" type="float" />
		<option name="padding" value="2" 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="f2f2f2" type="string" />
		<option name="area_border_alpha" value="1" type="float" />
		<option name="display_title" value="false" type="bool" />
		<option name="close_displayed" value="false" 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="22" 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="1000" 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','AIzaSyDlaYY3n3Xq70Tt0O6zAlkUK0FBUvVkj0Y']], 'panotourmapsArea_mapDIV');" type="string" />
		<option name="close_callback" value="invokeKrFunction('closeKolorAreaCallback_panotourmapsArea')" type="string" />
		<option name="zorder" value="10" 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,
			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));
			events.dispatch(onremovedisplayedobject);
		);
	</action>
	
	<action name="closeKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].isOpen,
			js(invokePluginFunction(panotourmapsArea, closeKolorArea));
		);
	</action>
	
	<action name="toggleKolorArea_panotourmapsArea">
		if(ptplugin[panotourmapsArea].isOpen,
			closeKolorArea_panotourmapsArea();
		,
			openKolorArea_panotourmapsArea();
		);
	</action>
	
	<action name="closeKolorAreaCallback_panotourmapsArea">
		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">
		set(ptplugin[panotourmapsArea].isOpen, true);
		pauseautorotation(forceplugin);

		js(invokePluginFunction(panotourmapsArea, showKolorArea, %1));
		js(invokePluginFunction(panotourmaps, forceResizeMapLayer, panotourmapsArea_mapDIV));
		events.dispatch(onremovedisplayedobject);
	</action> 
		
	<action name="hideKolorArea_panotourmapsArea">
		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();
);"
		onhidetourmap="panotourmapsClosetourmap();" 
		onshowtourmap="if(tour_displaymap,panotourmapsOpentourmap(););" 
		
		onTourStart="updateDefaultMarkerValues_panotourmapsArea();panotourmapsOpentourmap();"
		changetourlanguage="changeLanguage_panotourmaps();"
	/>
	
	
		<!-- PanotourMaps markers counter : 1 -->
				<action name="spotmap245ActionSpotMap">if(xml.scene == pano50,if(ptplugin[panotourmapsArea].isOpen,hideMap();
););
          mainloadscene(pano50);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>




  <!-- ************* -->
  <!-- Panorama Menu -->
  <!-- ************* -->

<ptplugin name="panoramaMenu" engine="kolorMenu">
	<settings>
		<option name="position" value="top" type="string" />
		<option name="orientation" value="horizontal" type="string" />
		<option name="sub_orientation" value="vertical" type="string" />
		<option name="margin_x" value="0" type="int" />
		<option name="margin_y" value="3" type="int" />
		<option name="background_color" value="b3b3b3" type="string" />
		<option name="background_alpha" value="1" type="float" />
		<option name="item_spacer" value="5" type="int" />
		<option name="border_radius" value="7" type="int" />
		<option name="full_size" value="false" type="bool" />
		<option name="use_out_effect" value="true" type="bool" />
		<option name="item_out_border_radius" value="7" type="int" />
		<option name="item_hover_border_radius" value="7" type="int" />
		<option name="item_out_border_width" value="0" type="int" />
		<option name="item_hover_border_width" value="0" type="int" />
		<option name="item_out_bg_color" value="b3b3b3" type="string" />
		<option name="item_out_bg_alpha" value="1" type="float" />
		<option name="item_out_font_color" value="ffffff" type="string" />
		<option name="item_out_font_family" value="Verdana" type="string" />
		<option name="item_out_font_size" value="13" type="int" />
		<option name="item_out_font_weight" value="normal" type="string" />
		<option name="item_out_font_style" value="normal" type="string" />
		<option name="item_out_font_decoration" value="normal" type="string" />
		<option name="use_hover_effect" value="true" type="bool" />
		<option name="item_hover_bg_color" value="d7d7d7" type="string" />
		<option name="item_hover_bg_alpha" value="1" type="float" />
		<option name="item_hover_font_color" value="ffffff" type="string" />
		<option name="item_hover_font_family" value="Verdana" type="string" />
		<option name="item_hover_font_size" value="13" type="int" />
		<option name="item_hover_font_weight" value="normal" type="string" />
		<option name="item_hover_font_style" value="normal" type="string" />
		<option name="item_hover_font_decoration" value="normal" type="string" />
		<option name="padding_main" value="10" type="int" />
		<option name="padding_sub" value="10" type="int" />
		<option name="force_font_menu" value="true" type="bool" />
		<option name="force_font_menu_color" value="ffffff" type="string" />
		<option name="force_font_menu_family" value="Verdana" type="string" />
		<option name="force_font_menu_size" value="13" type="int" />
		<option name="force_font_menu_weight" value="normal" type="string" />
		<option name="force_font_menu_style" value="normal" type="string" />
		<option name="force_font_menu_decoration" value="normal" type="string" />
		<option name="text_align" value="bottom" type="string" />
		<option name="item_thumb_max_width" value="150" type="int" />
		<option name="item_thumb_max_height" value="75" type="int" />
		
		<option name="zorder" value="12" type="int" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
	<internaldata>
				<group name="group_1"
						titleID="panogroup51_title"
						thumbnail=""
						subMenu="true"
						cssClass="panogroup51"> 

				
				
						<item name="group_1_item_1"
							action="invokeKrFunction('mainloadscene', 'pano50')"
								titleID="pano50_title"
								thumbnail="MenuiserieSavelVazeillesdata/vue_1___acces_50/thumbnail.jpg"
							cssClass="pano50">
						
								<option name="item_out_bg_color" value="808080" type="string" />
								<option name="item_out_bg_alpha" value="1" type="float" />
								<option name="item_hover_bg_color" value="9a9a9a" type="string" />
								<option name="item_hover_bg_alpha" value="1" type="float" />
						
						</item>
					
						<option name="background_color" value="808080" type="string" />
						<option name="background_alpha" value="1" type="float" />
					
				</group>
				<group name="group_2"
						titleID="panogroup46_title"
						thumbnail=""
						subMenu="true"
						cssClass="panogroup46"> 

				
				
						<item name="group_2_item_1"
							action="invokeKrFunction('mainloadscene', 'pano42')"
								titleID="pano42_title"
								thumbnail="MenuiserieSavelVazeillesdata/vue_2___entree_42/thumbnail.jpg"
							cssClass="pano42">
						
								<option name="item_out_bg_color" value="808080" type="string" />
								<option name="item_out_bg_alpha" value="1" type="float" />
								<option name="item_hover_bg_color" value="9a9a9a" type="string" />
								<option name="item_hover_bg_alpha" value="1" type="float" />
						
						</item>
						<item name="group_2_item_2"
							action="invokeKrFunction('mainloadscene', 'pano43')"
								titleID="pano43_title"
								thumbnail="MenuiserieSavelVazeillesdata/vue_3___hall_d_expos_43/thumbnail.jpg"
							cssClass="pano43">
						
								<option name="item_out_bg_color" value="808080" type="string" />
								<option name="item_out_bg_alpha" value="1" type="float" />
								<option name="item_hover_bg_color" value="9a9a9a" type="string" />
								<option name="item_hover_bg_alpha" value="1" type="float" />
						
						</item>
						<item name="group_2_item_3"
							action="invokeKrFunction('mainloadscene', 'pano44')"
								titleID="pano44_title"
								thumbnail="MenuiserieSavelVazeillesdata/vue_4___hall_d_expos_44/thumbnail.jpg"
							cssClass="pano44">
						
								<option name="item_out_bg_color" value="808080" type="string" />
								<option name="item_out_bg_alpha" value="1" type="float" />
								<option name="item_hover_bg_color" value="9a9a9a" type="string" />
								<option name="item_hover_bg_alpha" value="1" type="float" />
						
						</item>
						<item name="group_2_item_4"
							action="invokeKrFunction('mainloadscene', 'pano45')"
								titleID="pano45_title"
								thumbnail="MenuiserieSavelVazeillesdata/vue_5___hall_d_expos_45/thumbnail.jpg"
							cssClass="pano45">
						
								<option name="item_out_bg_color" value="808080" type="string" />
								<option name="item_out_bg_alpha" value="1" type="float" />
								<option name="item_hover_bg_color" value="9a9a9a" type="string" />
								<option name="item_hover_bg_alpha" value="1" type="float" />
						
						</item>
					
						<option name="background_color" value="808080" type="string" />
						<option name="background_alpha" value="1" type="float" />
					
				</group>
	</internaldata>
</ptplugin>

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

<action name="showKolorMenu_panoramaMenu">
	
	ifnot(ptplugin[panoramaMenu].isOpen,
		stopdelayedcall(delay_panoramaMenu);
		set(ptplugin[panoramaMenu].isOpen, true);
		set(ptplugin[panoramaMenu].displayed, true);
		js(openKolorMenu(panoramaMenu));
	,
		if(ptplugin[panoramaMenu].jsready,
			stopdelayedcall(delay_panoramaMenu);
			set(ptplugin[panoramaMenu].displayed, true);
			js(invokePluginFunction(panoramaMenu, showKolorMenu));
		,
			delayedcall(delay_panoramaMenu, 0.1, showKolorMenu_panoramaMenu(););
		);
	);
</action>

<action name="hideKolorMenu_panoramaMenu">
	if(ptplugin[panoramaMenu].jsready,
		stopdelayedcall(delay_panoramaMenu);
		set(ptplugin[panoramaMenu].displayed, false);
		js(invokePluginFunction(panoramaMenu, hideKolorMenu));
	,
		delayedcall(delay_panoramaMenu, 0.1, hideKolorMenu_panoramaMenu(););
	);
</action>


<action name="changeLanguage_panoramaMenu">
	if(ptplugin[panoramaMenu].jsready,
		stopdelayedcall(delay_panoramaMenu);
		js(invokePluginFunction(panoramaMenu, changeLanguage));
	,
		delayedcall(delay_panoramaMenu, 0.1, changeLanguage_panoramaMenu(););
	);
</action>


<events name="kolorMenuEvents_panoramaMenu" 
	keep="true"
	
	
	onTourStart="showKolorMenu_panoramaMenu();"
	changetourlanguage="changeLanguage_panoramaMenu"
/>

  <!-- FLOORPLAN -->
  <action name="hideFloorplan">set(tour_displayfloorplan, false);events.dispatch(onhidetourfloorplan);</action>
  <action name="showFloorplan">set(tour_displayfloorplan, true); events.dispatch(onshowtourfloorplan);</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("mv_savel_vazeilles.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>

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

  <!-- Share Tour -->
  <action name="shareTour">events.dispatch(onsharetour);</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>


  <!-- 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="enableGyroscope">
    changeGyroscopeState(true);
  </action>
  <action name="disableGyroscope">
    changeGyroscopeState(false);
  </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>

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

	<plugin name="ptpvrmode" devices="html5" keep="true"
		url="%FIRSTXML%/graphics/webvr.js"
		mobilevr_support="true"
		mobilevr_fake_support="false"
		vr_cursor=""
		vr_cursor_enabled="false"
		onavailable="delayedcall(1, checkVrAvailability(););"
		onunavailable="checkVrUnavailable();"
		/>
	<action name="checkVrAvailability">
		if(plugin[ptpvrmode],
			if (plugin[ptpvrmode].isavailable,
				set(tour_vrdevices, true);
				events.dispatch(onvravailable);
			,
				set(tour_vrdevices, false);
			);
		,
			checkVrUnavailable();
		);
	</action>
	<action name="checkVrUnavailable">
		set(tour_vrdevices, false);
		events.dispatch(onvrunavailable);
	</action>
</krpano>