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

    
  <!-- Spot Style - Open website -->
  <style name="IconOpenwebsite"
         url="%FIRSTXML%/spots/hotspot_information_sequence_user_defaultpoint4.png"
         visible="false"
         frame="0"
         lastframe="11"
         framewidth="54"
         frameheight="54"
         stopspotsequence="false"
         crop="0|0|54|54"
         zoom="true"

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


         />

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

  <action name="onoverIconOpenwebsite">

tween(alpha, 1);
pauseautorotation(forcehotspot);

  </action>

  <action name="onoutIconOpenwebsite">
    hideTooltip();

    tween(alpha, 0.8);
resumeautorotation(forcehotspot);

  </action>



  
  <!-- Spot Style - Default Polygon Spot Style -->
  <style name="PolygonDefaultPolygonSpotStyle"
           visible="false"
           bordercolor="0xffffff"
           fillcolor="0xffffff"
           borderwidth="0"
           borderalpha="1"
           fillalpha="0.40000000000000002"
           capture="false"
           onhover="onhoverPolygonDefaultPolygonSpotStyle"
           onover="onoverPolygonDefaultPolygonSpotStyle"
           onout="onoutPolygonDefaultPolygonSpotStyle"
           />
  <action name="onhoverPolygonDefaultPolygonSpotStyle">
    showTooltip('hotspot');
  </action>

  <action name="onoverPolygonDefaultPolygonSpotStyle">
    set(borderwidth, 0);
  </action>

  <action name="onoutPolygonDefaultPolygonSpotStyle">

    set(borderwidth, 0);
    hideTooltip();
  </action>



<!-- ********** -->
<!-- Double clic -->
<!-- id : doubleclick -->
<!-- ********** -->

  <plugin name="doubleclick" url.flash="%FIRSTXML%/graphics/doubleclick/fieldofview_dc.swf" url.html5="%FIRSTXML%/graphics/doubleclick/dctouch.min.js" keep="true" ondblclick="doubleclick_ondoubleclick();"/>
  <action name="doubleclick_ondoubleclick">switchFullscreen();


  </action>

<!-- ********** -->
<!-- Menu contextuel -->
<!-- id : contextmenu -->
<!-- ********** -->
  <contextmenu fullscreen="false" versioninfo="false" touch="true">
    <item name="author" onclick="getmessage(urltoopen,project_author_url);openurl(get(urltoopen),_blank);" />
    <item name="fullscreenentry" onclick="enterFullscreen();
" separator="true"/>
  </contextmenu>

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

<!-- ********* -->
<!-- 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,
        
        switch(plugin[gyroscope].enabled);
        set(plugin[gyroscope].activated,true);
        
        set(tour_gyroscopedevices, true);
        events.dispatch(ongyroscopeavailable);
      ,
        delayedcall(1, checkGyroAvailability(););
      );
    ,
      set(tour_gyroscopedevices, false);
    );
    if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
  ,
    checkGyroUnavailable();
  );
</action>

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

<!-- ********** -->
<!-- Barre de contrôle 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 (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 (device.desktop,
			set(layer[controlBar_dpadbtn_ctrlmode_drag_to].y, get(controlBar_dpadbutton_pos));
			set(layer[controlBar_dpadbtn_ctrlmode_move_to].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);
			);
		);

	
		if (device.desktop,
			set(layer[controlBar_dpadbtn_out].y, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
				set(layer[controlBar_dpadzoom_slider_bg].y, get(controlBar_dpadbutton_pos));
				inc(controlBar_dpadbutton_pos, 70);
			set(layer[controlBar_dpadbtn_in].y, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
		);
	
	

		set(layer[controlBar_dpadbtn_autotour_on ].y, get(controlBar_dpadbutton_pos));
		set(layer[controlBar_dpadbtn_autotour_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_home].x, get(controlBar_dpadbutton_pos));
		inc(controlBar_dpadbutton_pos, 40);
	
		if (scene.count GT 1,
			set(layer[controlBar_dpadbtn_prev_pano].x, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
			
			set(layer[controlBar_dpadbtn_next_pano].x, get(controlBar_dpadbutton_pos));
			inc(controlBar_dpadbutton_pos, 40);
		);
	

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

	
	
	

	
	
	

	
		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">
	
	controlBar_dpadhideMenuControls();
</action>


	<action name="controlBar_dpadSetVolumeBarOffsetX">
		
		
		sub(volumeBarPosX, get(layer[controlBar_dpadmenu_horizontal_bg].width), get(layer[controlBar_dpadVolumeBarContainer].x));
		add(volumeBarPosX, get(layer[get(layer[controlBar_dpadVolumeBarContainer].parent)].x));
		sub(volumeBarPosX, get(layer[controlBar_dpadVolumeBarContainer].width));
		
		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(true,
			
			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="bottomright"
	x="64"
	y="178"
	edge="bottom"
	zorder="4"
	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="bottomright"
	x="64"
	y="178"
	edge="bottom"
	zorder="5"
	scale9grid="12|10|3|40"
	onout="controlBar_dpadvertical_onout_action();"
	onover="controlBar_dpadvertical_onover_action();"
	visible="false"
	>



  <layer name="controlBar_dpadbtn_autotour_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_start_automatic_tour.png"
          onclick="startautotour();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautotourOnTip"
          />
  <layer name="controlBar_dpadbtn_autotour_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_stop_automatic_tour.png"
          onclick="stopautotour();
"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautotourOffTip"
          />

  <layer name="controlBar_dpadbtn_in"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_zoom_in.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          ondown="viewControlZoomIn(false);"
          onup="viewControlZoomStop();
"
          tooltip="controlBar_dpadzoomInTip"
          visible="false"
          devices="desktop"
          />

  <layer name="controlBar_dpadbtn_out"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_zoom_out.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          ondown="viewControlZoomOut(false);
"
          onup="viewControlZoomStop();
"
          tooltip="controlBar_dpadzoomOutTip"
          visible="false"
          devices="desktop"
          />
  <layer name="controlBar_dpadzoom_slider_bg"
          url="%FIRSTXML%/graphics/crosscornerbar/slider_bg_vertical.png"
          keep="true"
          align="bottom"
          alpha="0.2"
          visible="false"
          devices="desktop"
          >
    <layer name="controlBar_dpadzoom_slider_grip"
           keep="true"
           url="%FIRSTXML%/graphics/crosscornerbar/slider_grip_vertical.png"
           align="top"
           edge="center"
           ondown="controlBar_dpadzoom_slider_grip_ondown();"
           />
  </layer>

  <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_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 name="controlBar_dpadbtn_ctrlmode_move_to"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_move_to.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          tooltip="controlBar_dpadctrlmodeMoveTip"
          onclick="setControlModeMoveTo();
"
          visible="false"
          devices="desktop"
          />
  <layer name="controlBar_dpadbtn_ctrlmode_drag_to"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_drag_to.png"
          style="controlBar_dpadbtn_vertical_style|controlBar_dpadbtn_vertical_style_alpha"
          tooltip="controlBar_dpadctrlmodeDragTip"
          onclick="setControlModeDragTo();
"
          visible="false"
          devices="desktop"
          />


</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 (device.desktop,
    set(layer[controlBar_dpadbtn_in].alpha, 0.2);
    set(layer[controlBar_dpadbtn_out].alpha, 0.2);
    set(layer[controlBar_dpadzoom_slider_bg].alpha, 0.2);
    );

    set(layer[controlBar_dpadbtn_autotour_off].alpha, 0.2);
    set(layer[controlBar_dpadbtn_autotour_on ].alpha, 0.2);

    if (device.desktop,
      set(layer[controlBar_dpadbtn_ctrlmode_drag_to].alpha, 0.2);
      set(layer[controlBar_dpadbtn_ctrlmode_move_to].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 (device.desktop,
    set(layer[controlBar_dpadbtn_in].alpha, 1);
    set(layer[controlBar_dpadbtn_out].alpha, 1);
    set(layer[controlBar_dpadzoom_slider_bg].alpha, 1);
    );

    set(layer[controlBar_dpadbtn_autotour_off].alpha, 1);
    set(layer[controlBar_dpadbtn_autotour_on ].alpha, 1);

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

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


    set(layer[controlBar_dpadbtn_home].alpha, 0.2);
    if (scene.count GT 1,
    set(layer[controlBar_dpadbtn_prev_pano].alpha, 0.2);
    set(layer[controlBar_dpadbtn_next_pano].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);



    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_home].alpha, 1);
    if (scene.count GT 1,
    set(layer[controlBar_dpadbtn_prev_pano].alpha, 1);
    set(layer[controlBar_dpadbtn_next_pano].alpha, 1);
    );

    set(layer[controlBar_dpadbtn_sound_on].alpha, 1);
    set(layer[controlBar_dpadbtn_sound_off].alpha, 1);
	set(layer[controlBar_dpadVolumeBarContainer].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="bottomright"
          x="118"
          y="124"
          edge="right"
          zorder="4"
          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="bottomright"
          x="118"
          y="124"
          edge="right"
          zorder="5"
          scale9grid="10|12|40|3"
          onout="controlBar_dpadhorizontal_onout_action();"
          onover="controlBar_dpadhorizontal_onover_action();"
          visible="false"
          >
    <layer name="controlBar_dpadbtn_home"
           url="%FIRSTXML%/graphics/crosscornerbar/btn_home.png"
           onclick="controlBar_dpadbtn_home_action();"
           style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
           tooltip="controlBar_dpadhomeTip"
           visible="false"
           />

    <layer name="controlBar_dpadbtn_prev_pano"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_previous_scene.png"
            onclick="loadPreviousScene();
"
            style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
            tooltip="controlBar_dpadprevSceneTip"
            visible="false"
            />
    <layer name="controlBar_dpadbtn_next_pano"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_next_scene.png"
            onclick="loadNextScene();
"
            style="controlBar_dpadbtn_horizontal_style|controlBar_dpadbtn_horizontal_style_alpha"
            tooltip="controlBar_dpadnextSceneTip"
            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="0x434343"
		bgalpha="0.00000001"
		bgcapture="true"
		
		segmentCount="10"
		segmentWidth="0" 
		
		intervalCount="0" 
		intervalWidth="2"
		
		incrementPosX="0"
		incrementHeight="0"
		
		lightColor="0xff7d00"
		darkColor="0xff7d00"
		
		onclick="controlBar_dpadVolumeBarClickHandler"
	/>



    <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="bottomright"
		x="10"
		y="70"
		keep="true"
		capture="false"
		zorder="4"
		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="bottomright"
          x="10"
          y="70"
          capture="false"
          zorder="5"
          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="controlBar_dpadhideMenuControls();hideTourControls();
"
		edge="center"
		align="center"
		tooltip="controlBar_dpadhideControlsTip"
		visible="false"
		alpha="1.0"
		/>
	<layer name="controlBar_dpadbtn_showcontrols"
		onclick="controlBar_dpadshowMenuControls();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_dpadbtn_home_action">
      mainloadscene(get(startscene));
    </action>

  <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 (controlBar_dpadIsOpened,
			controlBar_dpadShowSoundButtons();
		,
			controlBar_dpadHideSoundButtons();
		);
	</action>



	<events name="controlBar_dpadAutotourEvents"
		onstartautotour="controlBar_dpadupdateAutotourButtons();"
		onstopautotour="controlBar_dpadupdateAutotourButtons();"
		keep="true"/>
	<action name="controlBar_dpadHideAutotourButtons">
		set(layer[controlBar_dpadbtn_autotour_off].visible, false);
		set(layer[controlBar_dpadbtn_autotour_on].visible , false);
	</action>
	<action name="controlBar_dpadShowAutotourButtons">
		if (tour_autotourenabled == false,
			set(layer[controlBar_dpadbtn_autotour_off].visible, false);
			set(layer[controlBar_dpadbtn_autotour_on].visible , true);
		,
			set(layer[controlBar_dpadbtn_autotour_off].visible, true);
			set(layer[controlBar_dpadbtn_autotour_on].visible , false);
		);
	</action>
	<action name="controlBar_dpadupdateAutotourButtons">
		if (controlBar_dpadIsOpened,
			controlBar_dpadShowAutotourButtons();
		,
			controlBar_dpadHideAutotourButtons();
		);
	</action>
	

	<events name="controlBar_dpadcontrolmodechangedevent" oncontrolmodechanged="if (controlBar_dpadControlModeButtonsActivated,controlBar_dpadupdateControlModeButtons(););" onxmlcomplete="set(controlBar_dpadControlModeButtonsActivated, true);" keep="true"/>
	<action name="controlBar_dpadHideControlModeButtons">
		set(layer[controlBar_dpadbtn_ctrlmode_move_to].visible, false);
		set(layer[controlBar_dpadbtn_ctrlmode_drag_to].visible, false);
	</action>
	<action name="controlBar_dpadShowControlModeButtons">
		if (tour_controlmodemousetype == "moveto",
			set(layer[controlBar_dpadbtn_ctrlmode_drag_to].visible, true);
			set(layer[controlBar_dpadbtn_ctrlmode_move_to].visible, false);
		,
			set(layer[controlBar_dpadbtn_ctrlmode_move_to].visible, true);
			set(layer[controlBar_dpadbtn_ctrlmode_drag_to].visible, false);
		);
	</action>
	<action name="controlBar_dpadupdateControlModeButtons">
	if (device.desktop,
		if (controlBar_dpadIsOpened,
			controlBar_dpadShowControlModeButtons();
		,
			controlBar_dpadHideControlModeButtons();
		);
	,
		controlBar_dpadHideControlModeButtons();
	);
	</action>
	
  <action name="controlBar_dpadzoom_slider_grip_dragging">
    if (pressed,
      sub(dy, mouse.stagey, drag_stagey); 
      add(newy, drag_currenty, dy); 

      if(newy LT 0, set(newy, 0) );
      if(newy GT layer[controlBar_dpadzoom_slider_bg].pixelheight, copy(newy, layer[controlBar_dpadzoom_slider_bg].pixelheight));
      copy(y, newy);

      div(val, newy, layer[controlBar_dpadzoom_slider_bg].pixelheight);

      sub(fovrange, view.fovmax, view.fovmin);
      mul(newfov  , val, fovrange);
      add(newfov  , view.fovmin);
      set(view.fov, get(newfov));

      delayedcall(0, controlBar_dpadzoom_slider_grip_dragging());
    );
  </action>
  <action name="controlBar_dpadzoom_slider_grip_ondown">
    copy(drag_currenty, y);
    copy(drag_stagey, mouse.stagey);
    controlBar_dpadzoom_slider_grip_dragging();
  </action>
  <events name="controlBar_dpadzoom_slider_events" keep="true" onviewchanged="controlBar_dpadzoom_slider_update();" />
  <action name="controlBar_dpadzoom_slider_update">
    if (device.desktop,
    ifnot (layer[controlBar_dpadzoom_slider_grip].pressed,
      sub(val, view.fov, view.fovmin);
      sub(fovrange, view.fovmax, view.fovmin);
      div(val, fovrange);
      mul(newy, val, layer[controlBar_dpadzoom_slider_bg].pixelheight);
      set(layer[controlBar_dpadzoom_slider_grip].y, get(newy));
    );
    );
  </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 (controlBar_dpadIsOpened,
			controlBar_dpadShowFullscreenButtons();
		,
			controlBar_dpadHideFullscreenButtons();
		);
	</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 (controlBar_dpadIsOpened,
			controlBar_dpadShowGyroscopeButtons();
		,
			controlBar_dpadHideGyroscopeButtons();
		);
	,
		if (controlBar_dpadIsOpened,
			controlBar_dpadHideGyroscopeButtons(true);
		,
			controlBar_dpadHideGyroscopeButtons();
		);
	);
	</action>
	


<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);
				set(layer[controlBar_dpadbtn_in].visible, false);
				set(layer[controlBar_dpadbtn_out].visible, false);
					set(layer[controlBar_dpadzoom_slider_bg].visible, false);

				controlBar_dpadupdateGyroscopeButtons();


				controlBar_dpadupdateAutotourButtons();

				controlBar_dpadupdateFullscreenButtons();
				controlBar_dpadupdateControlModeButtons();
			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_home].visible, false);
				if (scene.count GT 1,
					set(layer[controlBar_dpadbtn_prev_pano].visible, false);
					set(layer[controlBar_dpadbtn_next_pano].visible, false);
				);

				controlBar_dpadupdateSoundButtons();

				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_dpadupdateAutotourButtons();

        if (device.desktop,
        set(layer[controlBar_dpadbtn_in].visible, true);
        set(layer[controlBar_dpadbtn_out].visible, true);
        set(layer[controlBar_dpadzoom_slider_bg].visible, true);
        );

        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_home].visible, true);
        if (scene.count GT 1,
          set(layer[controlBar_dpadbtn_prev_pano].visible, true);
          set(layer[controlBar_dpadbtn_next_pano].visible, true);
        );
        controlBar_dpadupdateControlModeButtons();

        controlBar_dpadupdateSoundButtons();



        controlBar_dpadupdateHelpButtons();


      );
    );
  </action>

  <layer name="controlBar_dpadhelpScreen"
         url="%FIRSTXML%/graphics/crosscornerbar/help_screen_bg.png"
         keep="true"
         align="bottomright"
	     x="110"
	     y="170"
         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="110"
	     y="170"
         keep="true"
         enabled="false"
         capture="false"
         align="bottomright"
         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 (controlBar_dpadIsOpened,
			controlBar_dpadShowHelpButtons();
		,
			controlBar_dpadHideHelpButtons();
		);
	,
		controlBar_dpadHideHelpButtons();
	);
	</action>
  


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

  <layer name="controlBar_dpadhorizMenuTooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	type="text"
	align="center"
	bg="true"
	bgcolor="0x434343"
	bgalpha="1"
	bgborder="2.0 0xff7d00 1"
	mergedalpha="false"
	css="color:#ff7d00;font-family:Times New Roman;font-weight:bold;font-size:14px;text-align:left;"
	interactivecontent="false"
	zorder="0"
	padding="2"
	xoffset="0"
	visible="false"
	html=""
	edge="bottom"
	yoffset="-10"
  />
  <layer name="controlBar_dpadverticalMenuTooltipStyle"
	keep="true"
	enabled="false"
	capture="false"
	type="text"
	align="center"
	bg="true"
	bgcolor="0x434343"
	bgalpha="1"
	bgborder="2.0 0xff7d00 1"
	mergedalpha="false"
	css="color:#ff7d00;font-family:Times New Roman;font-weight:bold;font-size:14px;text-align:left;"
	interactivecontent="false"
	zorder="0"
	padding="2"
	yoffset="0"
	visible="false"
	html=""
	edge="right"
	xoffset="-10"
  />







<!-- ********** -->
<!-- Pied de page -->
<!-- id : footer -->
<!-- ********** -->

  <layer name="footer"
         keep="true"
         url="%FIRSTXML%/graphics/footer/footer.png" 
         bgalpha="1"
         align="bottom"
         x="0"
         y="0"
         zorder="6"
         enabled="false"
         capture="true"
         visible="false"
         
         width="100%"
         accuracy="1"
         />

  <events name="footerevents" 
    onTourStart="showfooter();"
    keep="true" />

  <action name="showfooter">
    set(layer[footer].visible, true);
  </action>

<!-- ********** -->
<!-- Simple Barre de Miniatures -->
<!-- id : thumbnailsBar -->
<!-- ********** -->





<layer name="thumbnailsBar_thumbnailsBar"
	keep="true"
	type="container"
	visible="false"
	align="bottomleft"

		width="100%"
		height="0"
		

	x="0"
	y="-5"

	bgcolor="0xdedede"
	bgalpha="0.10000762951094835"

	zorder="7"
/>



<layer name="thumbnailBorderSource_thumbnailsBar"
	keep="true"
	visible="false"

	borderWidth="2"
	borderColorDefault="0xe6e6e6" 
	borderColorHover="0xff7d00"
	borderColorSelected="0xff7d00"
	borderAlphaDefault="0.50000762951094835" 
	borderAlphaHover="1"
	borderAlphaSelected="1"

	url=""
	offsetX="0"
	offsetY="0"
	quarterHeight="0"
/>

	
	<krpano arrow1Loaded_thumbnailsBar="false" arrow2Loaded_thumbnailsBar="false" borderLoaded_thumbnailsBar="false" thumbnailsLoadedCounter_thumbnailsBar="0" thumbsCount_thumbnailsBar="0" thumbsCounter_thumbnailsBar="0" firstInit_thumbnailsBar="false" />
	
	
	<events name="thumbnailsScrollEvents_thumbnailsBar" 
		keep="true" 
		
		onxmlcomplete="ifnot(startResize_thumbnailsBar,set(isLoaded_thumbnailsBar, true);if(isStarted_thumbnailsBar,onLoadCompleteHandler_thumbnailsBar();););"
		onTourStart="set(isStarted_thumbnailsBar, true);if(isLoaded_thumbnailsBar,onLoadCompleteHandler_thumbnailsBar(););"
		onnewpano="if(startResize_thumbnailsBar,if(firstInit_thumbnailsBar,onLoadCompleteHandler_thumbnailsBar();););"
		onresize="onResizeHandler_thumbnailsBar();"
		onenterfullscreen="delayedcall(0.2,scrollToCurrentThumb_thumbnailsBar(););"
		onexitfullscreen="delayedcall(0.2,scrollToCurrentThumb_thumbnailsBar(););"
	/>
	
	
	<layer name="scrollAreaContainer_thumbnailsBar" 
		keep="true"
		type="container" 
		align="topleft"
		x="10"
		y="10"
		
		marginX="10"
		marginY="10"
		
		width="0" 
		height="0"
		
		targetWidth="0"
		targetHeight="0"
		
		scrollSpeedInit="10"
		scrollSpeed="10"
		scrollSpeedMax="70"
		scrollSpeedAcceleration="20"
		
		parent="thumbnailsBar_thumbnailsBar"
		
		thumbWidth="0"
		thumbHeight="0"
		
		itemWidth="80"
		itemHeight="40"
		
		offsetX="0"
		offsetY="0"
		
		thumbSpacer="10"
		currentThumbsCount="0"
		
		adjustToContent="false"
		
		zorder="1"
		visible="false"
		ready="false"
	>
	
		
		<layer name="thumbsScrollArea_thumbnailsBar" 
			url="%FIRSTXML%/graphics/scrollarea.swf" 
			alturl="%FIRSTXML%/graphics/scrollarea.js" 
			align="bottomleft"
			onhover_autoscrolling="false"
			
			x="0"
			y="0"
			 
				direction="h" 
		/>
	
	</layer>
	
	
	
	<layer name="scrollPrevArrow_thumbnailsBar" 
		keep="true"
		type="image"
		visible="false"
		parent="thumbnailsBar_thumbnailsBar"
		targetHeight="0"
		targetWidth="0"
		zorder="2"
		onloaded="loadedImages_thumbnailsBar(arrow1);"
			url="%FIRSTXML%/graphics/thumbnailsbar/btn_scroll_left.png"
			align="left"
	/>
	
	
	
	<layer name="scrollNextArrow_thumbnailsBar" 
		keep="true"
		type="image"
		visible="false"
		parent="thumbnailsBar_thumbnailsBar"
		targetHeight="0"
		targetWidth="0"
		zorder="2"
		onloaded="loadedImages_thumbnailsBar(arrow2);"
			url="%FIRSTXML%/graphics/thumbnailsbar/btn_scroll_right.png"
			align="right"
	/>
	
	<action name="loadedImages_thumbnailsBar">
		if(%1 == "arrow1",
			set(arrow1Loaded_thumbnailsBar, true);
		);
		if(%1 == "arrow2",
			set(arrow2Loaded_thumbnailsBar, true);
		);
		if(%1 == "border",
			if(layer[thumbnailBorderSource_thumbnailsBar].url,
				set(borderLoaded_thumbnailsBar, true);
			);
		);
		if(%1 == "thumbnail",
			inc(thumbnailsLoadedCounter_thumbnailsBar);
		);
	</action>
	
	<action name="onLoadCompleteHandler_thumbnailsBar">
		
		set(thumbsCount_thumbnailsBar, 0);
		
		
		set(thumbsCount_thumbnailsBar, get(scene.count));
		
		
		
		
		
		
		
		loadThumbs_thumbnailsBar();
		
		if(firstInit_thumbnailsBar,
			onLoadCompleteHandlerPartThree_thumbnailsBar();
		,
			onLoadCompleteHandlerPartTwo_thumbnailsBar();
		);
	</action>
	
	<action name="onLoadCompleteHandlerPartTwo_thumbnailsBar">
		set(imgCounter_thumbnailsBar, 3);
		
		if(arrow1Loaded_thumbnailsBar,
			dec(imgCounter_thumbnailsBar);
		);
		if(arrow2Loaded_thumbnailsBar,
			dec(imgCounter_thumbnailsBar);
		);
		if(thumbsCount_thumbnailsBar == thumbnailsLoadedCounter_thumbnailsBar,
			dec(imgCounter_thumbnailsBar);
		);
		
		if(imgCounter_thumbnailsBar LE 0,
			stopdelayedcall(delayedCallOnLoadComplete_thumbnailsBar);
			onLoadCompleteHandlerPartThree_thumbnailsBar();
		,
			delayedcall(delayedCallOnLoadComplete_thumbnailsBar, 0.2, onLoadCompleteHandlerPartTwo_thumbnailsBar());
		);
	</action>
	
	<action name="onLoadCompleteHandlerPartThree_thumbnailsBar">
		resetMouseBehavior_thumbnailsBar();
		highlightCurrentThumb_thumbnailsBar();
		
		
		if(layer[scrollAreaContainer_thumbnailsBar].adjustToContent,
			mul(adjustWidth_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].marginX), 2);
			add(adjustWidth_thumbnailsBar, get(layer[thumbsScrollArea_thumbnailsBar].width));
			mul(adjustHeight_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].marginY), 2);
			add(adjustHeight_thumbnailsBar, get(layer[thumbsScrollArea_thumbnailsBar].height));
			
			
			if(adjustWidth_thumbnailsBar GT stagewidth,
				set(adjustWidth_thumbnailsBar, get(stagewidth));
				set(layer[scrollAreaContainer_thumbnailsBar].adjustToContent, false);
			,
				if(adjustHeight_thumbnailsBar GT stageheight,
					set(adjustHeight_thumbnailsBar, get(stageheight));
					set(layer[scrollAreaContainer_thumbnailsBar].adjustToContent, false);
				);
			);
			
			setSize_thumbnailsBar(get(adjustWidth_thumbnailsBar), get(adjustHeight_thumbnailsBar));
		);
		
		setupArrows_thumbnailsBar(true);
		
		
		if (thumbsCounter_thumbnailsBar LE 0,
			set(layer[thumbnailsBar_thumbnailsBar].visible, false);
		);
		
		
		set(startResize_thumbnailsBar, true);
		set(firstInit_thumbnailsBar, true);
	</action>
	
	
	<action name="onResizeHandler_thumbnailsBar">
		
		delayedcall(0.1, onResizeCallback_thumbnailsBar(false); );
	</action>
	
	
	<action name="onResizeCallback_thumbnailsBar">
		if(startResize_thumbnailsBar,
			setSize_thumbnailsBar(get(layer[scrollAreaContainer_thumbnailsBar].targetWidth), get(layer[scrollAreaContainer_thumbnailsBar].targetHeight));
			setupArrows_thumbnailsBar(%1);
			
			
			if (thumbsCounter_thumbnailsBar LE 0,
				set(layer[thumbnailsBar_thumbnailsBar].visible, false);
			);
		);
	</action>
	
	
	
	
	
	
	<action name="thumbnailBorderDrawInit_thumbnailsBar">
		
		set(layer[scrollAreaContainer_thumbnailsBar].offsetX, get(layer[thumbnailBorderSource_thumbnailsBar].borderWidth));
		set(layer[scrollAreaContainer_thumbnailsBar].offsetY, get(layer[thumbnailBorderSource_thumbnailsBar].borderWidth));
		
		
		mul(totalOffsetX_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].borderWidth), 2);
		mul(totalOffsetY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].borderWidth), 2);
		
		
		if(startResize_thumbnailsBar,
			sub(layer[scrollAreaContainer_thumbnailsBar].itemWidth, get(totalOffsetX_thumbnailsBar));
			sub(layer[scrollAreaContainer_thumbnailsBar].itemHeight, get(totalOffsetY_thumbnailsBar));
		);
		
		
		set(layer[scrollAreaContainer_thumbnailsBar].thumbWidth, get(layer[scrollAreaContainer_thumbnailsBar].itemWidth));
		set(layer[scrollAreaContainer_thumbnailsBar].thumbHeight, get(layer[scrollAreaContainer_thumbnailsBar].itemHeight));
		
		add(layer[scrollAreaContainer_thumbnailsBar].itemWidth, get(totalOffsetX_thumbnailsBar));
		add(layer[scrollAreaContainer_thumbnailsBar].itemHeight, get(totalOffsetY_thumbnailsBar));
	</action>
		
	
	<action name="thumbnailBorderImageInit_thumbnailsBar">
		
		set(layer[scrollAreaContainer_thumbnailsBar].offsetX, get(layer[thumbnailBorderSource_thumbnailsBar].offsetX));
		set(layer[scrollAreaContainer_thumbnailsBar].offsetY, get(layer[thumbnailBorderSource_thumbnailsBar].offsetY));
		
		
		mul(totalOffsetX_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].offsetX), 2);
		mul(totalOffsetY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].offsetY), 2);
		
		
		if(startResize_thumbnailsBar,
			sub(layer[scrollAreaContainer_thumbnailsBar].itemWidth, get(totalOffsetX_thumbnailsBar));
			sub(layer[scrollAreaContainer_thumbnailsBar].itemHeight, get(totalOffsetY_thumbnailsBar));
		);
		
		
		set(layer[scrollAreaContainer_thumbnailsBar].thumbWidth, get(layer[scrollAreaContainer_thumbnailsBar].itemWidth));
		set(layer[scrollAreaContainer_thumbnailsBar].thumbHeight, get(layer[scrollAreaContainer_thumbnailsBar].itemHeight));
		
		add(layer[scrollAreaContainer_thumbnailsBar].itemWidth, get(totalOffsetX_thumbnailsBar));
		add(layer[scrollAreaContainer_thumbnailsBar].itemHeight, get(totalOffsetY_thumbnailsBar));
		
		
		div(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight, get(layer[thumbnailBorderSource_thumbnailsBar].height), 4);
		
		
		set(cropX_thumbnailsBar, 0);
		set(cropY_thumbnailsBar, 0);
		set(cropW_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].width));
		set(cropH_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight));
		txtadd(layer[thumbnailBorderSource_thumbnailsBar].cropDefault, get(cropX_thumbnailsBar), '|', get(cropY_thumbnailsBar), '|', get(cropW_thumbnailsBar), '|', get(cropH_thumbnailsBar));

		
		add(cropY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight));
		txtadd(layer[thumbnailBorderSource_thumbnailsBar].cropHover, get(cropX_thumbnailsBar), '|', get(cropY_thumbnailsBar), '|', get(cropW_thumbnailsBar), '|', get(cropH_thumbnailsBar));
		
		
		add(cropY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight));
		txtadd(layer[thumbnailBorderSource_thumbnailsBar].cropSelected, get(cropX_thumbnailsBar), '|', get(cropY_thumbnailsBar), '|', get(cropW_thumbnailsBar), '|', get(cropH_thumbnailsBar));
		
		
		add(cropY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight));
		txtadd(layer[thumbnailBorderSource_thumbnailsBar].cropVisited, get(cropX_thumbnailsBar), '|', get(cropY_thumbnailsBar), '|', get(cropW_thumbnailsBar), '|', get(cropH_thumbnailsBar));
		
		
		set(scaleX_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].offsetX));
		set(scaleY_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].offsetY));
		sub(scaleW_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].width), get(totalOffsetX_thumbnailsBar));
		sub(scaleH_thumbnailsBar, get(layer[thumbnailBorderSource_thumbnailsBar].quarterHeight), get(totalOffsetY_thumbnailsBar));
		txtadd(layer[thumbnailBorderSource_thumbnailsBar].scale9grid, get(scaleX_thumbnailsBar), '|', get(scaleY_thumbnailsBar), '|', get(scaleW_thumbnailsBar), '|', get(scaleH_thumbnailsBar));
	</action>
	
	
	<action name="loadThumbs_thumbnailsBar">
		if(layer[thumbnailBorderSource_thumbnailsBar].url,
			set(imgCounter_thumbnailsBar, 1);
		,
			set(imgCounter_thumbnailsBar, 0);
		);
		
		if(layer[thumbnailBorderSource_thumbnailsBar].url,
			if(borderLoaded_thumbnailsBar,
				dec(imgCounter_thumbnailsBar);
			);
		);
		
		if(imgCounter_thumbnailsBar LE 0,
			stopdelayedcall(delayedCallOnLoadCompleteBorder_thumbnailsBar);
			loadThumbsPartTwo_thumbnailsBar();
		,
			delayedcall(delayedCallOnLoadCompleteBorder_thumbnailsBar, 0.2, loadThumbs_thumbnailsBar());
		);
	</action>
	
	<action name="loadThumbsPartTwo_thumbnailsBar">
		ifnot(layer[scrollAreaContainer_thumbnailsBar].ready,
			
			
			if(layer[thumbnailBorderSource_thumbnailsBar].url,
				thumbnailBorderImageInit_thumbnailsBar();
			,
				thumbnailBorderDrawInit_thumbnailsBar();
			);
			
			
			set(thumbsCounter_thumbnailsBar, 0);
			
			
				for( set(i_thumbnailsBar, 0), i_thumbnailsBar LT scene.count, inc(i_thumbnailsBar),
					createThumb_thumbnailsBar(get(scene[get(i_thumbnailsBar)].name), get(scene[get(i_thumbnailsBar)].thumburl), get(i_thumbnailsBar), get(scene[get(i_thumbnailsBar)].titleid));
					inc(thumbsCounter_thumbnailsBar);
				);
			
			
			
			
			
			
			set(layer[scrollAreaContainer_thumbnailsBar].currentThumbsCount, get(thumbsCounter_thumbnailsBar));
			
			
			setSize_thumbnailsBar(get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].width), get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].height));
			
			
			set(layer[scrollAreaContainer_thumbnailsBar].visible, true);
			
			
					set(layer[thumbnailsBar_thumbnailsBar].visible, true);
			
			
			set(layer[scrollAreaContainer_thumbnailsBar].ready, true);
		);
	</action>
	
	
	<action name="setSize_thumbnailsBar">
		
		
		set(layer[scrollAreaContainer_thumbnailsBar].targetWidth, %1);
		set(layer[scrollAreaContainer_thumbnailsBar].targetHeight, %2);
		
		
		set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].width, %1);
		set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].height, %2);
		layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].updatepos();
		
		
		mul(totalMarginX_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].marginX), 2);
		mul(totalMarginY_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].marginY), 2);
		
			add(totalPluginHeight_thumbnailsBar, get(totalMarginY_thumbnailsBar), get(layer[scrollAreaContainer_thumbnailsBar].itemHeight));
			
			
			
			if(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].pixelheight LT totalPluginHeight_thumbnailsBar,
				set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].height, get(totalPluginHeight_thumbnailsBar));
			);
		
		layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].updatepos();
		
		
		sub(containerWidth_thumbnailsBar, get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].pixelwidth), get(totalMarginX_thumbnailsBar));
		sub(containerHeight_thumbnailsBar, get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].pixelheight), get(totalMarginY_thumbnailsBar));

		
		set(layer[scrollAreaContainer_thumbnailsBar].width, get(containerWidth_thumbnailsBar));
		set(layer[scrollAreaContainer_thumbnailsBar].height, get(containerHeight_thumbnailsBar));
		
		set(scrollAreaSize_thumbnailsBar, 0);
		
		
		mul(totalThumbsSpacer_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].currentThumbsCount), get(layer[scrollAreaContainer_thumbnailsBar].thumbSpacer));
		sub(totalThumbsSpacer_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].thumbSpacer));
		
		set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible, true);
		

			mul(scrollAreaSize_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].itemWidth), get(layer[scrollAreaContainer_thumbnailsBar].currentThumbsCount));
			add(scrollAreaSize_thumbnailsBar, get(totalThumbsSpacer_thumbnailsBar));
			
			set(layer[thumbsScrollArea_thumbnailsBar].width, get(scrollAreaSize_thumbnailsBar));
			set(layer[thumbsScrollArea_thumbnailsBar].height, get(layer[scrollAreaContainer_thumbnailsBar].itemHeight));
			
			
			if(layer[scrollAreaContainer_thumbnailsBar].width LT layer[scrollAreaContainer_thumbnailsBar].itemWidth,
				set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible, false);
			,
				verifyThumbnailsBarVisibility_thumbnailsBar();
			);
			
		
		
		if(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].width LT 0,
			set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible, false);
		);
		
	</action>
	
	
	<action name="verifyThumbnailsBarVisibility_thumbnailsBar">
		if(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible,
			set(boolValue_thumbnailsBar, false);
			
					set(boolValue_thumbnailsBar, true);
			
			set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible, get(boolValue_thumbnailsBar));
		);
	</action>
	
	
	<action name="createThumb_thumbnailsBar">

			add(offsetFactor_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].itemWidth), get(layer[scrollAreaContainer_thumbnailsBar].thumbSpacer));
	
			mul(thumbIncPos_thumbnailsBar, %3, get(offsetFactor_thumbnailsBar));
			
			
			if(layer[thumbnailBorderSource_thumbnailsBar].url,
				add(thumbIncPos_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].offsetX));
			);
			
		
		mul(negativeOffsetX_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].offsetX), -1);
		mul(negativeOffsetY_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].offsetY), -1);
		
		set(thumbName, 'thumb_');
		txtadd(thumbName, %1);
		txtadd(thumbName, '_thumbnailsBar');
		addlayer(get(thumbName));
		
		set(thumbBorderName, 'thumbBorder_');
		txtadd(thumbBorderName, %1);
		txtadd(thumbBorderName, '_thumbnailsBar');
		addlayer(get(thumbBorderName));
		
		
		ifnot(layer[thumbnailBorderSource_thumbnailsBar].url,
			set(layer[get(thumbBorderName)].type, container);
			set(layer[get(thumbBorderName)].parent, thumbsScrollArea_thumbnailsBar);
		);
		
		
		set(layer[get(thumbName)].onloaded, loadedImages_thumbnailsBar("thumbnail"););
		set(layer[get(thumbName)].url, %2);
		set(layer[get(thumbName)].keep, true);
		set(layer[get(thumbName)].width, get(layer[scrollAreaContainer_thumbnailsBar].thumbWidth));
		set(layer[get(thumbName)].height, get(layer[scrollAreaContainer_thumbnailsBar].thumbHeight));
		set(layer[get(thumbName)].align, topleft);
		
		
			set(layer[get(thumbName)].y, get(layer[scrollAreaContainer_thumbnailsBar].offsetY));
		
			if(layer[thumbnailBorderSource_thumbnailsBar].url,
				set(layer[get(thumbName)].parent, thumbsScrollArea_thumbnailsBar);
				set(layer[get(thumbName)].x, get(thumbIncPos_thumbnailsBar));
			,
				set(layer[get(thumbName)].parent, get(thumbBorderName));
				set(layer[get(thumbName)].x, get(layer[scrollAreaContainer_thumbnailsBar].offsetX));
				set(layer[get(thumbName)].onclick, resetMouseBehavior_thumbnailsBar(); mainloadscene(%1); delayedcall(0.1,highlightThumb_thumbnailsBar(%1)));
			);	
			
		
		
		set(layer[get(thumbBorderName)].keep, true);
		set(layer[get(thumbBorderName)].width, get(layer[scrollAreaContainer_thumbnailsBar].itemWidth));
		set(layer[get(thumbBorderName)].height, get(layer[scrollAreaContainer_thumbnailsBar].itemHeight));
		set(layer[get(thumbBorderName)].align, topleft);
		
		if(layer[thumbnailBorderSource_thumbnailsBar].url,
			set(layer[get(thumbBorderName)].url, get(layer[thumbnailBorderSource_thumbnailsBar].url));
			set(layer[get(thumbBorderName)].scale9grid, get(layer[thumbnailBorderSource_thumbnailsBar].scale9grid));
			set(layer[get(thumbBorderName)].parent, get(thumbName));
			set(layer[get(thumbBorderName)].x, get(negativeOffsetX_thumbnailsBar));
			set(layer[get(thumbBorderName)].y, get(negativeOffsetY_thumbnailsBar));
			set(layer[get(thumbBorderName)].onclick, resetMouseBehavior_thumbnailsBar(); mainloadscene(%1); delayedcall(0.1,highlightThumb_thumbnailsBar(%1)));
		,
			
				set(layer[get(thumbBorderName)].x, get(thumbIncPos_thumbnailsBar)); 
				
		);
		
		
		setupMouseBehavior_thumbnailsBar(%1, %4);
		
	</action>
	
	
	<action name="removeThumb_thumbnailsBar">
		set(thumbName, 'thumb_');
		txtadd(thumbName, %1);
		txtadd(thumbName, '_thumbnailsBar');
		removelayer(get(thumbName));
		
		set(thumbBorderName, 'thumbBorder_');
		txtadd(thumbBorderName, %1);
		txtadd(thumbBorderName, '_thumbnailsBar');
		removelayer(get(thumbBorderName));
	</action>
	
	
	
	<action name="setupArrows_thumbnailsBar">
		
		if(layer[scrollAreaContainer_thumbnailsBar].adjustToContent,
			hideArrows_thumbnailsBar();
		,
			ifnot(device.touchdevice,
				
					if(layer[scrollAreaContainer_thumbnailsBar].width LT layer[thumbsScrollArea_thumbnailsBar].width,
				
					showArrows_thumbnailsBar();
				,
					hideArrows_thumbnailsBar();
				);
			,
				hideArrows_thumbnailsBar();
			);
		);
		
		
		if(%1,
			scrollToCurrentThumb_thumbnailsBar();
		);
		
		
			
			if(layer[scrollAreaContainer_thumbnailsBar].width LT layer[scrollAreaContainer_thumbnailsBar].itemWidth,
				set(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].visible, false);
			);
	</action>
	
	
	<action name="showArrows_thumbnailsBar">
		
		
		
		
		set(layer[scrollPrevArrow_thumbnailsBar].visible, true);
		set(layer[scrollNextArrow_thumbnailsBar].visible, true);
		
		
		
			
			add(totalArrowSize_thumbnailsBar, get(layer[scrollPrevArrow_thumbnailsBar].width), get(layer[scrollNextArrow_thumbnailsBar].width));
		
			
			sub(scrollAreaContainerSize_thumbnailsBar, get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].pixelwidth), get(totalArrowSize_thumbnailsBar));
		
			set(layer[scrollAreaContainer_thumbnailsBar].width, get(scrollAreaContainerSize_thumbnailsBar));
			
			set(layer[scrollAreaContainer_thumbnailsBar].x, get(layer[scrollPrevArrow_thumbnailsBar].width));
			
		
		
		set(layer[scrollPrevArrow_thumbnailsBar].onhover, scrollPrev_thumbnailsBar(););
		set(layer[scrollNextArrow_thumbnailsBar].onhover, scrollNext_thumbnailsBar(););
		
		set(layer[scrollPrevArrow_thumbnailsBar].onclick, scrollPrev_thumbnailsBar(get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeedAcceleration)););
		set(layer[scrollNextArrow_thumbnailsBar].onclick, scrollNext_thumbnailsBar(get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeedAcceleration)););
		
		
		
		
		
		set(layer[scrollPrevArrow_thumbnailsBar].onout, set(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed, get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeedInit)););
		set(layer[scrollNextArrow_thumbnailsBar].onout, set(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed, get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeedInit)););
		
	</action>
	
	
	
	
	<action name="hideArrows_thumbnailsBar">
		
		set(layer[scrollPrevArrow_thumbnailsBar].visible, false);
		set(layer[scrollNextArrow_thumbnailsBar].visible, false);
		
		

			mul(totalMargin_thumbnailsBar, get(layer[scrollAreaContainer_thumbnailsBar].marginX), 2);
			
			sub(scrollAreaContainerSize_thumbnailsBar, get(layer[get(layer[scrollAreaContainer_thumbnailsBar].parent)].pixelwidth), get(totalMargin_thumbnailsBar));

			set(layer[scrollAreaContainer_thumbnailsBar].width, get(scrollAreaContainerSize_thumbnailsBar));
			set(layer[scrollAreaContainer_thumbnailsBar].x, get(layer[scrollAreaContainer_thumbnailsBar].marginX));
			 
			
	</action>
	
	
	<action name="scrollPrev_thumbnailsBar">
		
		
		if(%1,
			inc(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed, %1);
		);
		
		layer[thumbsScrollArea_thumbnailsBar].stopscrolling();
		
		set(scrollLimit_thumbnailsBar, 0);
		
		
			
			
			add(layer[thumbsScrollArea_thumbnailsBar].x, get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed));
			if(layer[thumbsScrollArea_thumbnailsBar].x GE scrollLimit_thumbnailsBar,
				set(layer[thumbsScrollArea_thumbnailsBar].x, get(scrollLimit_thumbnailsBar));
			);
		
		if(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed LT layer[scrollAreaContainer_thumbnailsBar].scrollSpeedMax,
			inc(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed);
		);
		
	</action>
	
	
	<action name="scrollNext_thumbnailsBar">
		
		
		if(%1,
			inc(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed, %1);
		);
		
		layer[thumbsScrollArea_thumbnailsBar].stopscrolling();
		
			
			sub(scrollLimit_thumbnailsBar, get(layer[thumbsScrollArea_thumbnailsBar].width), get(layer[scrollAreaContainer_thumbnailsBar].width));
			
			mul(scrollLimit_thumbnailsBar, -1);
			
			sub(layer[thumbsScrollArea_thumbnailsBar].x, get(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed));
			if(layer[thumbsScrollArea_thumbnailsBar].x LE scrollLimit_thumbnailsBar,
				set(layer[thumbsScrollArea_thumbnailsBar].x, get(scrollLimit_thumbnailsBar));
			);
		
		if(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed LT layer[scrollAreaContainer_thumbnailsBar].scrollSpeedMax,
			inc(layer[scrollAreaContainer_thumbnailsBar].scrollSpeed);
		);
		
	</action>
	
	
	<action name="resetMouseBehavior_thumbnailsBar">
	
		
		
			for( set(j_thumbnailsBar, 0), j_thumbnailsBar LT scene.count, inc(j_thumbnailsBar),
				set(thumbBorderName, 'thumbBorder_');
				txtadd(thumbBorderName, get(scene[get(j_thumbnailsBar)].name));
				txtadd(thumbBorderName, '_thumbnailsBar');
				
				setupMouseBehavior_thumbnailsBar(get(scene[get(j_thumbnailsBar)].name), get(scene[get(j_thumbnailsBar)].titleid));
			);
		
	</action>
	
	
	<action name="setupMouseBehavior_thumbnailsBar">

		set(thumbName, 'thumb_');
		txtadd(thumbName, %1);
		txtadd(thumbName, '_thumbnailsBar');
		
		set(thumbBorderName, 'thumbBorder_');
		txtadd(thumbBorderName, %1);
		txtadd(thumbBorderName, '_thumbnailsBar');
		
		if(layer[thumbnailBorderSource_thumbnailsBar].url,
			set(layer[get(thumbBorderName)].crop, get(layer[thumbnailBorderSource_thumbnailsBar].cropDefault));
			set(layer[get(thumbBorderName)].onovercrop, get(layer[thumbnailBorderSource_thumbnailsBar].cropHover));
			set(layer[get(thumbBorderName)].ondowncrop, get(layer[thumbnailBorderSource_thumbnailsBar].cropHover));
			set(layer[get(thumbBorderName)].tooltip, %2);
				set(layer[get(thumbBorderName)].onhover, showTooltip('plugin'));
				set(layer[get(thumbBorderName)].onout, hideTooltip());
		,
			set(layer[get(thumbBorderName)].bgcolor, get(layer[thumbnailBorderSource_thumbnailsBar].borderColorDefault));
			set(layer[get(thumbBorderName)].bgalpha, get(layer[thumbnailBorderSource_thumbnailsBar].borderAlphaDefault));
				set(layer[get(thumbName)].tooltip, %2);
				set(layer[get(thumbName)].onhover, showTooltip('plugin'));
			
			set(layer[get(thumbName)].onover, 
				set(layer[get(parent)].bgcolor, get(layer[thumbnailBorderSource_thumbnailsBar].borderColorHover));
				set(layer[get(parent)].bgalpha, get(layer[thumbnailBorderSource_thumbnailsBar].borderAlphaHover));
			);
			
			set(layer[get(thumbName)].onout, 
				set(layer[get(parent)].bgcolor, get(layer[thumbnailBorderSource_thumbnailsBar].borderColorDefault));
				set(layer[get(parent)].bgalpha, get(layer[thumbnailBorderSource_thumbnailsBar].borderAlphaDefault));
				hideTooltip();
			);
		);
	
	</action>
	
	
	<action name="highlightCurrentThumb_thumbnailsBar">
			delayedcall(0.1,highlightThumb_thumbnailsBar(get(xml.scene)));
	</action>
	
	
	<action name="highlightThumb_thumbnailsBar">
	
		set(thumbBorderName, 'thumbBorder_');
		txtadd(thumbBorderName, %1);
		txtadd(thumbBorderName, '_thumbnailsBar');
		
		if(layer[thumbnailBorderSource_thumbnailsBar].url,
			set(layer[get(thumbBorderName)].crop, get(layer[thumbnailBorderSource_thumbnailsBar].cropSelected));
			set(layer[get(thumbBorderName)].onovercrop, get(layer[thumbnailBorderSource_thumbnailsBar].cropSelected));
			set(layer[get(thumbBorderName)].ondowncrop, get(layer[thumbnailBorderSource_thumbnailsBar].cropSelected));
		,
			set(thumbName, 'thumb_');
			txtadd(thumbName, %1);
			txtadd(thumbName, '_thumbnailsBar');
			
			set(layer[get(thumbBorderName)].bgcolor, get(layer[thumbnailBorderSource_thumbnailsBar].borderColorSelected));
			set(layer[get(thumbBorderName)].bgalpha, get(layer[thumbnailBorderSource_thumbnailsBar].borderAlphaSelected));
			
			set(layer[get(thumbName)].onover, "");
			set(layer[get(thumbName)].onout, hideTooltip(););
		);

		scrollToThumb_thumbnailsBar(%1);
	</action>
	
	
	<action name="scrollToCurrentThumb_thumbnailsBar">
			scrollToThumb_thumbnailsBar(get(xml.scene));
	</action>
	
	
	<action name="scrollToThumb_thumbnailsBar">
		
		set(thumbName, 'thumb_');
		set(thumbBorderName, 'thumbBorder_');
		
		txtadd(thumbName, %1);
		txtadd(thumbName, '_thumbnailsBar');
		txtadd(thumbBorderName, %1);
		txtadd(thumbBorderName, '_thumbnailsBar');

			set(posX_thumbnailsBar, 0);
			if(layer[thumbnailBorderSource_thumbnailsBar].url,
				div(halfThumbWidth_thumbnailsBar, get(layer[get(thumbName)].width), 2);
				ifnot(layer[scrollAreaContainer_thumbnailsBar].adjustToContent,
					add(posX_thumbnailsBar, get(layer[get(thumbName)].x), get(halfThumbWidth_thumbnailsBar));
				);
				if(layer[thumbsScrollArea_thumbnailsBar].scrolltocenter,
					layer[thumbsScrollArea_thumbnailsBar].scrolltocenter(get(posX_thumbnailsBar), 0);
				);
			,
				div(halfThumbWidth_thumbnailsBar, get(layer[get(thumbBorderName)].width), 2);
				ifnot(layer[scrollAreaContainer_thumbnailsBar].adjustToContent,
					add(posX_thumbnailsBar, get(layer[get(thumbBorderName)].x), get(halfThumbWidth_thumbnailsBar));
				);
				if(layer[thumbsScrollArea_thumbnailsBar].scrolltocenter,
					layer[thumbsScrollArea_thumbnailsBar].scrolltocenter(get(posX_thumbnailsBar), 0);
				);
			);
		
	</action>
	





<!-- ********** -->
<!-- Panorama Title -->
<!-- id : title -->
<!-- ********** -->

  <events name="title_events" 
    onTourStart="showtitle();"
    onnewpano="updatetitle();"
    changetourlanguage="changeLanguagetitle"
    keep="true" />

  <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="8"
         type="text"
         align="topleft" x="10" y="30" width="100%"
         bg="false" capture="false" handcursor="false" interactivecontent="false" enabled="false"
         bgborder="0"
         alpha="1"
         visible="false"
         txtshadow="1.0 1.0 4.0 0x000000 1.0"
         css="text-align:left;
              color:#ffffff;
              font-family:Arial;
              font-size:24px;"/>

<!-- ********** -->
<!-- Logo Photolim -->
<!-- id : picture -->
<!-- ********** -->

  <layer name="picture"
         keep="true"
         url="%FIRSTXML%/graphics/picture/logo-menu.png" 
         align="topright"
         x="10"
         y="10"
         zorder="9"

         handcursor="true"
         onclick="hidepicture();"
         visible="false"
         height="50"
         width="50"
         />

  <events name="pictureevents" 
    onTourStart="showpicture(false);"
    keep="true" />

  <action name="hidepicture">set(layer[picture].visible, false);</action>
  <action name="showpicture">if(%1 == true,set(layer[picture].visible, true);,set(layer[picture].visible, true););</action>

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


<action name="setViewLittlePlanet">
	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);
			);
		);
	);
	if (sceneisfull360 AND (device.webgl OR device.flash),
		if(normalViewActivated,stopSetViewTweens(););
		if(current_view_isflat === true,
			setViewNonFlat(VFOV);
		);
		setViewLittlePlanetComplete();
	);
</action>

<action name="setViewLittlePlanetComplete">
	set(backtonormalfirst,false);
	if(view.pannini GE 1.0, set(backtonormalfirst,true));
	if(view.stereographic == false, set(backtonormalfirst,true));
	if(backtonormalfirst, hideTooltip();tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeOutQuad, WAIT); );
	set(view.stereographic, true);
	set(view.fisheyefovlink, 1.5);
	tween(view.architectural, 0.0, 0.25);
	tween(view.vlookat, 90, distance(179, 1.50));
	tween(view.pannini, 0.0, distance(1.0, 0.75), easeOutQuad, if(panniniViewActivated,restoreViewFromPannini();););
	if(panoview.fovmax LE 150, set(view.fovmax, 150); , set(view.fovmax, get(panoview.fovmax)); );
	tween(view.fisheye, 1.0, distance(1.0, 0.75));
	tween(view.fov, 150, distance(179, 0.75));
</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>

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

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

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

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

      set(plugin[soundinterface].backgroundsoundloops, 0);
      set(plugin[soundinterface].bgsound, false);
      set(plugin[soundinterface].bgsoundpaused, false);
      set(plugin[soundinterface].bgsoundloopended, true);
    );
    );
  </action>
  <action name="resetbackgroundsoundifneeded">
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound != scene[%1].backgroundsound,
        if(plugin[soundinterface].backgroundsound,
          stopsound(bgsoundname);
        );
        set(plugin[soundinterface].backgroundsound, "");
        set(plugin[soundinterface].backgroundsoundloops, 0);
        set(plugin[soundinterface].bgsound, false);
        set(plugin[soundinterface].bgsoundpaused, false);
        set(plugin[soundinterface].bgsoundloopended, false);
      );
    );
  </action>
  <action name="pausebackgroundsound">
    if(plugin[soundinterface].backgroundsound,
      if (plugin[soundinterface].bgsound,
        if(plugin[soundinterface].bgsoundpaused == false AND plugin[soundinterface].bgsoundloopended == false,
          pausesound(bgsoundname);
          set(plugin[soundinterface].bgsoundpaused, true);
        );
      );
    );
    
  </action>
  <action name="resumebackgroundsound">
    set(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);
            );
          ,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            if(plugin[soundinterface].backgroundsoundloops GT 0,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
            ,
              playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
            );
          );
        );
      );
      
    ,
      if(forceBgSoundOnResume,
        playbackgroundsound();
        
      );
    );
  </action>
  <action name="preloadSounds">
    preloadsound("bensound-sadday.mp3");
  </action>

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

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


<action name="viewControlZoomIn">
	if(%1,
		if(%2,
			if(%2 LT view.fovmin,
				zoomto(get(view.fovmin));
			,
				if(%2 LT view.fov,
					zoomto(%2);
				);
			);
		,
			set(fov_moveforce, -1);
			delayedcall(0.1, viewControlZoomStop());
		);
	,
		set(fov_moveforce, -1);
	);
</action>
<action name="viewControlZoomOut">
	if(%1,
		if(%2,
			if(%2 GT view.fovmax,
				zoomto(get(view.fovmax));
			,
				if(%2 GT view.fov,
					zoomto(%2);
				);
			);
		,
			set(fov_moveforce, +1);
			delayedcall(0.1, viewControlZoomStop());
		);
	,
		set(fov_moveforce, +1);
	);
</action>
<action name="viewControlZoomStop">
	set(fov_moveforce, 0);
</action>

  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);set(fullscreen,false);</action>
  <action name="enterFullScreen" devices="fullscreensupport">set(tour_fullscreen,true);set(fullscreen,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>

</krpano>