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

    
  <!-- Spot Style - move to new area -->
  <style name="Iconmovetonewarea"
         url="%FIRSTXML%/spots/hotspot_neutral_user_defaultpoint0.png"
         visible="false"


         onhover="onhoverIconmovetonewarea"
         onout="onoutIconmovetonewarea"
         />
  <action name="onhoverIconmovetonewarea">
    showtooltip(hotspot);
  </action>
  <action name="onoutIconmovetonewarea">
    hideTooltip();



  </action>

    
  <!-- Spot Style - Pumpkin -->
  <style name="IconPumpkin"
         url="%FIRSTXML%/spots/hotspot_information_user_defaultpoint1.png"
         visible="false"


         onhover="onhoverIconPumpkin"
         onout="onoutIconPumpkin"
         />
  <action name="onhoverIconPumpkin">
    showtooltip(hotspot);
  </action>
  <action name="onoutIconPumpkin">
    hideTooltip();



  </action>

    
  <!-- Spot Style - Gardener Village -->
  <style name="IconGardenerVillage"
         url="%FIRSTXML%/spots/hotspot_information_user_defaultpoint2.png"
         visible="false"


         onhover="onhoverIconGardenerVillage"
         onout="onoutIconGardenerVillage"
         />
  <action name="onhoverIconGardenerVillage">
    showtooltip(hotspot);
  </action>
  <action name="onoutIconGardenerVillage">
    hideTooltip();



  </action>

	<!-- ***************** -->
	<!-- D-Pad Control Bar -->
	<!-- ***************** -->


<krpano crosscornerbarbarbuilt="false" crosscornerbarhorizontalwidth="0" crosscornerbarverticalheight="0" crosscornerbarIsOpened="false" />

<events name="crosscornerbarevents" onxmlcomplete="crosscornerbarbuildMenuBar();" keep="true"/>

<action name="crosscornerbarbuildMenuBar">
	ifnot (crosscornerbarbarbuilt, crosscornerbarbuildMenu(); set(crosscornerbarbarbuilt, true););
</action>

<action name="crosscornerbarbuildMenu">
	
	
	
	set(crosscornerbarbutton_pos, 10);

		if (device.fullscreensupport,
			set(layer[crosscornerbarbtn_openfs].y, get(crosscornerbarbutton_pos));
			set(layer[crosscornerbarbtn_closefs].y, get(crosscornerbarbutton_pos));
			inc(crosscornerbarbutton_pos, 40);
		);
	
		if (device.desktop,
			set(layer[crosscornerbarbtn_ctrlmode_drag_to].y, get(crosscornerbarbutton_pos));
			set(layer[crosscornerbarbtn_ctrlmode_move_to].y, get(crosscornerbarbutton_pos));
			inc(crosscornerbarbutton_pos, 40);
		);
	

		set(crosscornerbarDisplayGryoscopeButton, false);
		if (device.tablet, set(crosscornerbarDisplayGryoscopeButton, true););
		if (device.mobile, set(crosscornerbarDisplayGryoscopeButton, true););
		if(crosscornerbarDisplayGryoscopeButton,
			set(layer[crosscornerbarbtn_gyroscope_on].y, get(crosscornerbarbutton_pos));
			set(layer[crosscornerbarbtn_gyroscope_off].y, get(crosscornerbarbutton_pos));
			inc(crosscornerbarbutton_pos, 40);
		);

	
		if (device.desktop,
			set(layer[crosscornerbarbtn_out].y, get(crosscornerbarbutton_pos));
			inc(crosscornerbarbutton_pos, 40);
				set(layer[crosscornerbarzoom_slider_bg].y, get(crosscornerbarbutton_pos));
				inc(crosscornerbarbutton_pos, 70);
			set(layer[crosscornerbarbtn_in].y, get(crosscornerbarbutton_pos));
			inc(crosscornerbarbutton_pos, 40);
		);
	
		set(layer[crosscornerbarbtn_autorotate_on ].y, get(crosscornerbarbutton_pos));
		set(layer[crosscornerbarbtn_autorotate_off].y, get(crosscornerbarbutton_pos));
		inc(crosscornerbarbutton_pos, 40);
	


	
	if (crosscornerbarbutton_pos != 10,
		set(layer[crosscornerbarmenu_vertical_bg].height, get(crosscornerbarbutton_pos));
		set(layer[crosscornerbarmenu_vertical_bg_border].height, get(crosscornerbarbutton_pos));
		set(crosscornerbarverticalheight, get(crosscornerbarbutton_pos));
	,
		set(layer[crosscornerbarmenu_vertical_bg].height, 0);
	);
	
	
	
	set(crosscornerbarbutton_pos, 10);
	
	
	


	
	
	

	
	
	

	
	
	if (crosscornerbarbutton_pos != 10,
		set(layer[crosscornerbarmenu_horizontal_bg].width, get(crosscornerbarbutton_pos));
		set(layer[crosscornerbarmenu_horizontal_bg_border].width, get(crosscornerbarbutton_pos));
		set(crosscornerbarhorizontalwidth, get(crosscornerbarbutton_pos));
	,
		set(layer[crosscornerbarmenu_horizontal_bg].width, 0);
	);
	
	
	
	
</action>


<events name="crosscornerbarStartTourEvents" onTourStart="crosscornerbarCallOnStartTour();" keep="true" />

<action name="crosscornerbarCallOnStartTour">
	
	crosscornerbarshowMenuControls();
</action>


	<action name="crosscornerbarSetVolumeBarOffsetX">
		
		
		add(volumeBarPosX, get(layer[crosscornerbarVolumeBarContainer].x), get(layer[get(layer[crosscornerbarVolumeBarContainer].parent)].x));
		
		set(layer[crosscornerbarVolumeBarContainer].xoffset, get(volumeBarPosX));
		
		crosscornerbarSetupVolumeBar();
	</action>
	
	
	<action name="crosscornerbarSetupVolumeBar">
		crosscornerbarCalculateSegmentWidth();
		
		for(set(i,0), i LT layer[crosscornerbarVolumeBarContainer].segmentCount, inc(i), 
			crosscornerbarCreateVolumeSegment(get(i));
		);
	</action>
	
	<action name="crosscornerbarCalculateSegmentWidth">
		sub(layer[crosscornerbarVolumeBarContainer].intervalCount, get(layer[crosscornerbarVolumeBarContainer].segmentCount), 1);
		
		mul(totalIntervalWidth, get(layer[crosscornerbarVolumeBarContainer].intervalWidth), get(layer[crosscornerbarVolumeBarContainer].intervalCount));
		
		sub(totalSegmentWidth, get(layer[crosscornerbarVolumeBarContainer].width), get(totalIntervalWidth));
		
		div(layer[crosscornerbarVolumeBarContainer].segmentWidth, get(totalSegmentWidth), get(layer[crosscornerbarVolumeBarContainer].segmentCount));
		
		add(layer[crosscornerbarVolumeBarContainer].incrementPosX, get(layer[crosscornerbarVolumeBarContainer].segmentWidth), get(layer[crosscornerbarVolumeBarContainer].intervalWidth));
		
		div(layer[crosscornerbarVolumeBarContainer].incrementHeight, get(layer[crosscornerbarVolumeBarContainer].height), get(layer[crosscornerbarVolumeBarContainer].segmentCount));
	</action>
	
	<action name="crosscornerbarCreateVolumeSegment">
		set(volumeSegmentName, 'volumeSegment_');
		txtadd(volumeSegmentName, %1);
		
		mul(posX, get(layer[crosscornerbarVolumeBarContainer].incrementPosX), %1);
		
		mul(segmentHeight, get(layer[crosscornerbarVolumeBarContainer].incrementHeight), %1);
		add(segmentHeight, get(layer[crosscornerbarVolumeBarContainer].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, crosscornerbarVolumeBarContainer);
		set(layer[get(volumeSegmentName)].x, get(posX));
		set(layer[get(volumeSegmentName)].width, get(layer[crosscornerbarVolumeBarContainer].segmentWidth));
		set(layer[get(volumeSegmentName)].height, get(segmentHeight));
		
		set(layer[get(volumeSegmentName)].bgcolor, get(layer[crosscornerbarVolumeBarContainer].lightColor));
		set(layer[get(volumeSegmentName)].bgalpha, 1);
	</action>
	
	<action name="crosscornerbarAdjustHighlightToVolume">
		mul(segmentToHighlight, %1, get(layer[crosscornerbarVolumeBarContainer].segmentCount));
		div(segmentToHighlight, 100);
		Math.ceil(segmentToHighlight); 
		
		for(set(i,0), i LT layer[crosscornerbarVolumeBarContainer].segmentCount, inc(i), 
			set(volumeSegmentName, 'volumeSegment_');
			txtadd(volumeSegmentName, get(i));
			
			if(i LT segmentToHighlight,
				set(layer[get(volumeSegmentName)].bgcolor, get(layer[crosscornerbarVolumeBarContainer].lightColor));
				set(layer[get(volumeSegmentName)].bgalpha, 1.0);
			,
				set(layer[get(volumeSegmentName)].bgcolor, get(layer[crosscornerbarVolumeBarContainer].darkColor));
				set(layer[get(volumeSegmentName)].bgalpha, 0.4);
			);
		);
	</action>
	
	<action name="crosscornerbarVolumeBarClickHandler">
		if(false,
			
			sub(localPosX, stagewidth, get(layer[crosscornerbarVolumeBarContainer].xoffset));
			sub(localPosX, mouse.x);
			sub(localX, get(layer[crosscornerbarVolumeBarContainer].width), get(localPosX));
		,
			
			sub(localX, mouse.x, get(layer[crosscornerbarVolumeBarContainer].xoffset));
		);
		
		mul(percent, get(localX), 100);
		div(percent, get(layer[crosscornerbarVolumeBarContainer].width));
		Math.ceil(percent);
		
		
		setTourSoundsVolume(get(percent));
		
		
		if(tour_soundson == false,
			playTourSounds();
		);
		
		crosscornerbarAdjustHighlightToVolume(get(percent));
	</action>
	


<style name="crosscornerbarbtn_vertical_style"
	keep="true"
	align="bottom"
	onhover="crosscornerbarshowVerticalMenuTooltip();"
    onout="hideTooltip();"
	crop="0| 0|30|30"
	onovercrop="0|30|30|30"
	ondowncrop="0|60|30|30"
	x="0"
	/>
<style name="crosscornerbarbtn_vertical_style_alpha"
	alpha="1.0"
	devices="tablet|mobile"
	/>
<style name="crosscornerbarbtn_vertical_style_alpha"
	alpha="0.2"
	devices="desktop"
	/>

<style name="crosscornerbarmenu_bg_alpha"
	alpha="0.2"
	devices="desktop"
	/>
<style name="crosscornerbarmenu_bg_alpha"
	alpha="0.5"
	devices="tablet|mobile"
	/>

<layer name="crosscornerbarmenu_vertical_bg"
	url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_vertical.png"
	keep="true"
	align="bottomleft"
	x="64"
	y="118"
	edge="bottom"
	zorder="0"
	scale9grid="12|10|3|40"
	style="crosscornerbarmenu_bg_alpha"
	visible="false"
	/>

<layer name="crosscornerbarmenu_vertical_bg_border"
	url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_vertical.png"
	keep="true"
	align="bottomleft"
	x="64"
	y="118"
	edge="bottom"
	zorder="1"
	scale9grid="12|10|3|40"
	onout="crosscornerbarvertical_onout_action();"
	onover="crosscornerbarvertical_onover_action();"
	visible="false"
	>

  <layer name="crosscornerbarbtn_autorotate_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_start_autorotation.png"
          onclick="startautorotation();"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautorotateOnTip"
          />
  <layer name="crosscornerbarbtn_autorotate_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_stop_autorotation.png"
          onclick="stopautorotation();"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadautorotateOffTip"
          />


  <layer name="crosscornerbarbtn_in"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_zoom_in.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          ondown="set(fov_moveforce, -1);"
          onup="set(fov_moveforce, 0);"
          tooltip="controlBar_dpadzoomInTip"
          visible="false"
          devices="desktop"
          />

  <layer name="crosscornerbarbtn_out"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_zoom_out.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          ondown="set(fov_moveforce, +1);"
          onup="set(fov_moveforce, 0);"
          tooltip="controlBar_dpadzoomOutTip"
          visible="false"
          devices="desktop"
          />
  <layer name="crosscornerbarzoom_slider_bg"
          url="%FIRSTXML%/graphics/crosscornerbar/slider_bg_vertical.png"
          keep="true"
          align="bottom"
          alpha="0.2"
          visible="false"
          devices="desktop"
          >
    <layer name="crosscornerbarzoom_slider_grip"
           keep="true"
           url="%FIRSTXML%/graphics/crosscornerbar/slider_grip_vertical.png"
           align="top"
           edge="center"
           ondown="crosscornerbarzoom_slider_grip_ondown();"
           />
  </layer>

  <layer name="crosscornerbarbtn_openfs"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_enter_fs.png"
          onclick="enterFullscreen();"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          tooltip="controlBar_dpadopenFsTip"
          visible="false"
          devices="fullscreensupport"
          />
  <layer name="crosscornerbarbtn_closefs"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_close_fs.png"
          onclick="exitFullscreen();"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          visible="false"
          tooltip="controlBar_dpadcloseFsTip"
          devices="fullscreensupport"
          />


  <layer name="crosscornerbarbtn_gyroscope_off"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_gyroscope.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          onclick="disableGyroscope();"
          devices="tablet|mobile"
          visible="false"
            tooltip="controlBar_dpadgyroOffTip"
          />
  <layer name="crosscornerbarbtn_gyroscope_on"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_gyroscope.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          onclick="enableGyroscope();"
          devices="tablet|mobile"
            tooltip="controlBar_dpadgyroOnTip"
          visible="false"
          />

  <layer name="crosscornerbarbtn_ctrlmode_move_to"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_move_to.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          tooltip="controlBar_dpadctrlmodeMoveTip"
          onclick="setControlModeMoveTo();"
          visible="false"
          devices="desktop"
          />
  <layer name="crosscornerbarbtn_ctrlmode_drag_to"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_drag_to.png"
          style="crosscornerbarbtn_vertical_style|crosscornerbarbtn_vertical_style_alpha"
          tooltip="controlBar_dpadctrlmodeDragTip"
          onclick="setControlModeDragTo();"
          visible="false"
          devices="desktop"
          />


</layer>

  <action name="crosscornerbarvertical_onout_action">
    set(layer[crosscornerbarmenu_vertical_bg].alpha, 0.2);
    if (device.fullscreensupport,
      set(layer[crosscornerbarbtn_openfs].alpha, 0.2);
      set(layer[crosscornerbarbtn_closefs].alpha, 0.2);
    );
    if (device.desktop,
    set(layer[crosscornerbarbtn_in].alpha, 0.2);
    set(layer[crosscornerbarbtn_out].alpha, 0.2);
    set(layer[crosscornerbarzoom_slider_bg].alpha, 0.2);
    );


    set(layer[crosscornerbarbtn_autorotate_off].alpha, 0.2);
    set(layer[crosscornerbarbtn_autorotate_on ].alpha, 0.2);
    if (device.desktop,
      set(layer[crosscornerbarbtn_ctrlmode_drag_to].alpha, 0.2);
      set(layer[crosscornerbarbtn_ctrlmode_move_to].alpha, 0.2);
    );
  </action>

  <action name="crosscornerbarvertical_onover_action">
    set(layer[crosscornerbarmenu_vertical_bg].alpha, 1);
    if (device.fullscreensupport,
      set(layer[crosscornerbarbtn_openfs].alpha, 1);
      set(layer[crosscornerbarbtn_closefs].alpha, 1);
    );
    if (device.desktop,
    set(layer[crosscornerbarbtn_in].alpha, 1);
    set(layer[crosscornerbarbtn_out].alpha, 1);
    set(layer[crosscornerbarzoom_slider_bg].alpha, 1);
    );


    set(layer[crosscornerbarbtn_autorotate_off].alpha, 1);
    set(layer[crosscornerbarbtn_autorotate_on ].alpha, 1);
    if (device.desktop,
      set(layer[crosscornerbarbtn_ctrlmode_drag_to].alpha, 1);
      set(layer[crosscornerbarbtn_ctrlmode_move_to].alpha, 1);
    );
  </action>

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





 
  </action>

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






  </action>

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

  <layer name="crosscornerbarmenu_horizontal_bg"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_horizontal.png"
          keep="true"
          align="bottomleft"
          x="118"
          y="64"
          edge="left"
          zorder="0"
          scale9grid="10|12|40|3"
          style="crosscornerbarmenu_bg_alpha"
          visible="false"
          />

  <layer name="crosscornerbarmenu_horizontal_bg_border"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_horizontal.png"
          keep="true"
          align="bottomleft"
          x="118"
          y="64"
          edge="left"
          zorder="1"
          scale9grid="10|12|40|3"
          onout="crosscornerbarhorizontal_onout_action();"
          onover="crosscornerbarhorizontal_onover_action();"
          visible="false"
          >






  </layer>


	
	<style name="crosscornerbarbtn_navigation_style"
		keep="true"
		onhover="crosscornerbarshowVerticalMenuTooltip();"
		onout="hideTooltip();"
		crop="0|0|30|30"
		onovercrop="0|30|30|30"
		ondowncrop="0|60|30|30"
	/>
	<style name="crosscornerbarbtn_navigation_style_alpha"
		alpha="1.0"
		devices="tablet|mobile"
	/>
	<style name="crosscornerbarbtn_navigation_style_alpha"
		alpha="0.2"
		devices="desktop"
	/>
	
	<layer name="crosscornerbarnavigation_bg"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_move.png"
		align="bottomleft"
		x="10"
		y="10"
		keep="true"
		capture="false"
		zorder="0"
		style="crosscornerbarmenu_bg_alpha"
		visible="false"
		/>

  <layer name="crosscornerbarnavigation_bg_border"
          url="%FIRSTXML%/graphics/crosscornerbar/btn_bg_border_move.png"
          keep="true"
          align="bottomleft"
          x="10"
          y="10"
          capture="false"
          zorder="1"
          onout="crosscornerbarnav_onout_action();"
          onover="crosscornerbarnav_onover_action();"
          visible="false"
          >
    <layer name="crosscornerbarbtn_left"
            ondown="set(hlookat_moveforce, -1);"
            onup="set(hlookat_moveforce, 0);"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_left.png"
            style="crosscornerbarbtn_navigation_style|crosscornerbarbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveLeftTip"
            x="5"
            y="0"
            edge="left"
            align="left"
            visible="false"
             />
    <layer name="crosscornerbarbtn_right"
            ondown="set(hlookat_moveforce, +1);"
            onup="set(hlookat_moveforce, 0);"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_right.png"
            style="crosscornerbarbtn_navigation_style|crosscornerbarbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveRightTip"
            x="5"
            y="0"
            edge="right"
            align="right"
            visible="false"
             />
    <layer name="crosscornerbarbtn_up"
            ondown="set(vlookat_moveforce, -1);"
            onup="set(vlookat_moveforce, 0);"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_up.png"
            style="crosscornerbarbtn_navigation_style|crosscornerbarbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveUpTip"
            x="0"
            y="5"
            align="top"
            edge="top"
            visible="false"
             />
    <layer name="crosscornerbarbtn_down"
            ondown="set(vlookat_moveforce, +1);"
            onup="set(vlookat_moveforce, 0);"
            url="%FIRSTXML%/graphics/crosscornerbar/btn_move_down.png"
            style="crosscornerbarbtn_navigation_style|crosscornerbarbtn_navigation_style_alpha"
            tooltip="controlBar_dpadmoveDownTip"
            x="0"
            y="5"
            edge="bottom"
            align="bottom"
            visible="false"
             />

	<layer name="crosscornerbarbtn_hidecontrols"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_hide_controls.png"
		style="crosscornerbarbtn_navigation_style"
		onclick="crosscornerbarhideMenuControls();hideTourControls();"
		edge="center"
		align="center"
		tooltip="controlBar_dpadhideControlsTip"
		visible="false"
		alpha="1.0"
		/>
	<layer name="crosscornerbarbtn_showcontrols"
		onclick="crosscornerbarshowMenuControls();showTourControls();"
		url="%FIRSTXML%/graphics/crosscornerbar/btn_show_controls.png"
		style="crosscornerbarbtn_navigation_style"
		align="center"
		edge="center"
		visible="false"
		alpha="0.5"
		onout="set(alpha, 0.5);"
		onover="set(alpha, 1);"
		tooltip="controlBar_dpaddisplayControlsTip"
		/>
	
</layer>


  <action name="crosscornerbarnav_onout_action">
    set(layer[crosscornerbarnavigation_bg].alpha, 0.2);
    set(layer[crosscornerbarbtn_left].alpha, 0.2);
    set(layer[crosscornerbarbtn_right].alpha, 0.2);
    set(layer[crosscornerbarbtn_up].alpha, 0.2);
    set(layer[crosscornerbarbtn_down].alpha, 0.2);
  </action>

  <action name="crosscornerbarnav_onover_action">
    set(layer[crosscornerbarnavigation_bg].alpha, 1);
    set(layer[crosscornerbarbtn_left].alpha, 1);
    set(layer[crosscornerbarbtn_right].alpha, 1);
    set(layer[crosscornerbarbtn_up].alpha, 1);
    set(layer[crosscornerbarbtn_down].alpha, 1);
  </action>



	<events name="crosscornerbarAutorotationEvents"
		onstartautorotation="crosscornerbarupdateAutorotationButtons();"
		onresumeautorotation="crosscornerbarupdateAutorotationButtons();"
		onstopautorotation="crosscornerbarupdateAutorotationButtons();"
		onpauseautorotation="crosscornerbarupdateAutorotationButtons();"
		keep="true"/>
	<action name="crosscornerbarHideAutorotationButtons">
		set(layer[crosscornerbarbtn_autorotate_off].visible, false);
		set(layer[crosscornerbarbtn_autorotate_on].visible , false);
	</action>
	<action name="crosscornerbarShowAutorotationButtons">
		if(tour_autorotateenabled==false,
			set(layer[crosscornerbarbtn_autorotate_off].visible, false);
			set(layer[crosscornerbarbtn_autorotate_on].visible , true);
		,
			set(layer[crosscornerbarbtn_autorotate_off].visible, true);
			set(layer[crosscornerbarbtn_autorotate_on].visible , false);
		);
	</action>
	<action name="crosscornerbarupdateAutorotationButtons">
		set(crosscornerbarDisplayAutorotationButtons, false);
		if (crosscornerbarIsOpened, set(crosscornerbarDisplayAutorotationButtons, true););
		if (crosscornerbarDisplayAutorotationButtons,
			crosscornerbarShowAutorotationButtons();
		,
			crosscornerbarHideAutorotationButtons();
		);
	</action>



	<events name="crosscornerbarcontrolmodechangedevent" oncontrolmodechanged="if (crosscornerbarControlModeButtonsActivated,crosscornerbarupdateControlModeButtons(););" onxmlcomplete="set(crosscornerbarControlModeButtonsActivated, true);" keep="true"/>
	<action name="crosscornerbarHideControlModeButtons">
		set(layer[crosscornerbarbtn_ctrlmode_move_to].visible, false);
		set(layer[crosscornerbarbtn_ctrlmode_drag_to].visible, false);
	</action>
	<action name="crosscornerbarShowControlModeButtons">
		if (tour_controlmodemousetype == "moveto",
			set(layer[crosscornerbarbtn_ctrlmode_drag_to].visible, true);
			set(layer[crosscornerbarbtn_ctrlmode_move_to].visible, false);
		,
			set(layer[crosscornerbarbtn_ctrlmode_move_to].visible, true);
			set(layer[crosscornerbarbtn_ctrlmode_drag_to].visible, false);
		);
	</action>
	<action name="crosscornerbarupdateControlModeButtons">
	if (device.desktop,
		set(crosscornerbarDisplayControlModeButtons, false);
		if (crosscornerbarIsOpened, set(crosscornerbarDisplayControlModeButtons, true););
		if (crosscornerbarDisplayControlModeButtons,
			crosscornerbarShowControlModeButtons();
		,
			crosscornerbarHideControlModeButtons();
		);
	,
		crosscornerbarHideControlModeButtons();
	);
	</action>
	
  <action name="crosscornerbarzoom_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[crosscornerbarzoom_slider_bg].pixelheight, copy(newy, layer[crosscornerbarzoom_slider_bg].pixelheight));
      copy(y, newy);

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

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

      delayedcall(0, crosscornerbarzoom_slider_grip_dragging());
    );
  </action>
  <action name="crosscornerbarzoom_slider_grip_ondown">
    copy(drag_currenty, y);
    copy(drag_stagey, mouse.stagey);
    crosscornerbarzoom_slider_grip_dragging();
  </action>
  <events name="crosscornerbarzoom_slider_events" keep="true" onviewchanged="crosscornerbarzoom_slider_update();" />
  <action name="crosscornerbarzoom_slider_update">
    if (device.desktop,
    ifnot (layer[crosscornerbarzoom_slider_grip].pressed,
      sub(val, view.fov, view.fovmin);
      sub(fovrange, view.fovmax, view.fovmin);
      div(val, fovrange);
      mul(newy, val, layer[crosscornerbarzoom_slider_bg].pixelheight);
      set(layer[crosscornerbarzoom_slider_grip].y, get(newy));
    );
    );
  </action>

	<events name="crosscornerbarmenufullscreenchangeevent"
		onenterfullscreen="crosscornerbarupdateFullscreenButtons();"
		onexitfullscreen="crosscornerbarupdateFullscreenButtons();"
		keep="true"/>
	<action name="crosscornerbarHideFullscreenButtons">
		set(layer[crosscornerbarbtn_openfs].visible , false);
		set(layer[crosscornerbarbtn_closefs].visible, false);
	</action>
	<action name="crosscornerbarShowFullscreenButtons">
		if (device.fullscreensupport,
			if(tour_fullscreen,
				set(layer[crosscornerbarbtn_openfs].visible , false);
				set(layer[crosscornerbarbtn_closefs].visible, true);
			,
				set(layer[crosscornerbarbtn_openfs].visible ,true);
				set(layer[crosscornerbarbtn_closefs].visible,false);
			);
		,
			crosscornerbarHideFullscreenButtons();
		);
	</action>
	<action name="crosscornerbarupdateFullscreenButtons">
		set(crosscornerbarDisplayFullscreenButtons, false);
		if (crosscornerbarIsOpened, set(crosscornerbarDisplayFullscreenButtons, true););
		if (crosscornerbarDisplayFullscreenButtons,
			crosscornerbarShowFullscreenButtons();
		,
			crosscornerbarHideFullscreenButtons();
		);
	</action>
	

  <events name="crosscornerbarbtngyroscopeavailableevents"
          ongyroscopeavailable="crosscornerbarupdateGyroscopeButtonsAvailability();"
          ongyroscopeon="crosscornerbarenableGyroscopeButtons(true);"
          ongyroscopeoff="crosscornerbarenableGyroscopeButtons(false);"
          keep="true"/>
  <krpano crosscornerbarmenugyroscopeavailable="false"
          crosscornerbarmenugyroscopeenabled="false"/>
  <action name="crosscornerbarupdateGyroscopeButtonsAvailability">
    if (tour_gyroscopedevices,
      set(crosscornerbarmenugyroscopeavailable, true);
      crosscornerbarupdateGyroscopeButtons();
    );
  </action>
  <action name="crosscornerbarenableGyroscopeButtons">
    if (tour_gyroscopedevices,
      set(crosscornerbarmenugyroscopeenabled, %1);
      crosscornerbarupdateGyroscopeButtons();
    );
  </action>
	<action name="crosscornerbarHideGyroscopeButtons">
		set(layer[crosscornerbarbtn_gyroscope_off].visible, false);
		set(layer[crosscornerbarbtn_gyroscope_on].visible, false);
	</action>
	<action name="crosscornerbarShowGyroscopeButtons">
		if (crosscornerbarmenugyroscopeavailable,
			if (crosscornerbarmenugyroscopeenabled,
				set(layer[crosscornerbarbtn_gyroscope_off].visible, false);
				set(layer[crosscornerbarbtn_gyroscope_on].visible, true);
			,
				set(layer[crosscornerbarbtn_gyroscope_off].visible, true);
				set(layer[crosscornerbarbtn_gyroscope_on].visible, false);
			);
		,
			crosscornerbarHideGyroscopeButtons();
		);
	</action>
	<action name="crosscornerbarupdateGyroscopeButtons">
	if (tour_gyroscopedevices,
		set(crosscornerbarDisplayMenuGyroscopeButtons, false);
		if (crosscornerbarIsOpened, set(crosscornerbarDisplayMenuGyroscopeButtons, true););
		if (crosscornerbarDisplayMenuGyroscopeButtons,
			crosscornerbarShowGyroscopeButtons();
		,
			crosscornerbarHideGyroscopeButtons();
		);
	,
		crosscornerbarHideGyroscopeButtons();
	);
	</action>
	


<action name="crosscornerbarhideMenuControls">
		set(crosscornerbarIsOpened, false);
		set(layer[crosscornerbarnavigation_bg].visible, false);
		
			set(layer[crosscornerbarbtn_up].visible, false);
			set(layer[crosscornerbarbtn_down].visible, false);
			set(layer[crosscornerbarbtn_left].visible, false);
			set(layer[crosscornerbarbtn_right].visible, false);
		
		set(layer[crosscornerbarnavigation_bg_border].visible, true);
		tween(layer[crosscornerbarnavigation_bg_border].alpha, 0.5, 1);
		
		
		if(crosscornerbarverticalheight != 0,
			set(layer[crosscornerbarmenu_vertical_bg].visible, false);
				set(layer[crosscornerbarbtn_in].visible, false);
				set(layer[crosscornerbarbtn_out].visible, false);
					set(layer[crosscornerbarzoom_slider_bg].visible, false);

				crosscornerbarupdateGyroscopeButtons();

				crosscornerbarupdateAutorotationButtons();


				crosscornerbarupdateFullscreenButtons();
				crosscornerbarupdateControlModeButtons();
			tween(layer[crosscornerbarmenu_vertical_bg_border].alpha , 0, 1);
			tween(layer[crosscornerbarmenu_vertical_bg_border].height , 0, 1, easeOutQuad, set(layer[crosscornerbarmenu_vertical_bg_border].visible, false));
		);
		
		
		if(crosscornerbarhorizontalwidth != 0,
			set(layer[crosscornerbarmenu_horizontal_bg].visible, false);






			tween(layer[crosscornerbarmenu_horizontal_bg_border].alpha , 0, 1);
			tween(layer[crosscornerbarmenu_horizontal_bg_border].width, 0, 1, easeOutQuad, set(layer[crosscornerbarmenu_horizontal_bg_border].visible, false));
		);
		set(layer[crosscornerbarbtn_showcontrols].visible, true);
		set(layer[crosscornerbarbtn_hidecontrols].visible, false);
	</action>
	
	<action name="crosscornerbarshowMenuControls">
	set(crosscornerbarIsOpened, true);
    set(layer[crosscornerbarbtn_showcontrols].visible, false);
    set(layer[crosscornerbarbtn_hidecontrols].visible, true);
    set(layer[crosscornerbarnavigation_bg].visible, true);

    set(layer[crosscornerbarbtn_up].visible, true);
    set(layer[crosscornerbarbtn_down].visible, true);
    set(layer[crosscornerbarbtn_left].visible, true);
    set(layer[crosscornerbarbtn_right].visible, true);

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

    
    if(crosscornerbarverticalheight != 0,
      set(layer[crosscornerbarmenu_vertical_bg_border].visible, true);
      tween(layer[crosscornerbarmenu_vertical_bg_border].alpha, 1, 1);
      tween(layer[crosscornerbarmenu_vertical_bg_border].height, get(crosscornerbarverticalheight), 1, easeOutQuad,
        set(layer[crosscornerbarmenu_vertical_bg].visible, true);
        crosscornerbarupdateFullscreenButtons();
        crosscornerbarupdateAutorotationButtons();


        if (device.desktop,
        set(layer[crosscornerbarbtn_in].visible, true);
        set(layer[crosscornerbarbtn_out].visible, true);
        set(layer[crosscornerbarzoom_slider_bg].visible, true);
        );

        crosscornerbarupdateGyroscopeButtons();

      );
    );

    
    if(crosscornerbarhorizontalwidth != 0,
      set(layer[crosscornerbarmenu_horizontal_bg_border].visible, true);
      tween(layer[crosscornerbarmenu_horizontal_bg_border].alpha, 1, 1);
      tween(layer[crosscornerbarmenu_horizontal_bg_border].width, get(crosscornerbarhorizontalwidth), 1, easeOutQuad,
        set(layer[crosscornerbarmenu_horizontal_bg].visible, true);


        crosscornerbarupdateControlModeButtons();






      );
    );
  </action>



  <action name="crosscornerbarshowHorizontalMenuTooltip">
    if (tooltip !== null, showTooltip(bottomleft, crosscornerbarhorizMenuTooltipStyle, bottom););
  </action>
  <action name="crosscornerbarshowVerticalMenuTooltip">
    if (tooltip !== null, showTooltip(bottomleft, crosscornerbarverticalMenuTooltipStyle, left););
  </action>

  <textstyle name="crosscornerbarhorizMenuTooltipStyle"
             font="Times New Roman"
             fontsize="14"
             bold="true"
             italic="false"
             textcolor="0xffffff"
             background="true"
             backgroundcolor="0x462c72"
             alpha="0.8"
             blendmode="normal"
		     effect="glow(0x462c72,1,10,100); "
             origin="cursor"
             textalign="center"
             border="0"
             xoffset="0"
             edge="bottom"
             yoffset="-25"
             devices="flash"
             noclip="true"/>

  <textstyle name="crosscornerbarverticalMenuTooltipStyle"
             font="Times New Roman"
             fontsize="14"
             bold="true"
             italic="false"
             textcolor="0xffffff"
             background="true"
             backgroundcolor="0x462c72"
             alpha="0.8"
             blendmode="normal"
		     effect="glow(0x462c72,1,10,100); "
             origin="cursor"
             edge="left"
             textalign="left"
             xoffset="25"
             border="0"
             yoffset="0"
             devices="flash"
             noclip="true"/>

  <layer name="crosscornerbarhorizMenuTooltipStyle"
	     keep="true"
	     enabled="false"
	     capture="false"
	     url="%FIRSTXML%/graphics/textfield.swf"
	     align="center"
	     background="true"
	     backgroundcolor="0x462c72"
	     border="true"
	     bordercolor="0x462c72"
	     css="color:#ffffff;font-family:Times New Roman;font-weight:bold;font-size:14px;text-align:center;"
	     width="200"
	     height="20"
	     autoheight="true"
         edge="bottom"
	     yoffset="-25"
	     xoffset="0"
	     selectable="false"
	     zorder="0"
	     visible="false"
	     html=""
	     devices="html5"
         />
  <layer name="crosscornerbarverticalMenuTooltipStyle"
	     keep="true"
	     enabled="false"
	     capture="false"
	     url="%FIRSTXML%/graphics/textfield.swf"
	     align="center"
	     background="true"
	     backgroundcolor="0x462c72"
	     border="true"
	     bordercolor="0x462c72"
	     css="color:#ffffff;font-family:Times New Roman;font-weight:bold;font-size:14px;text-align:center;"
	     width="200"
	     height="20"
	     autoheight="true"
	     edge="left"
	     xoffset="25"
	     yoffset="0"
	     selectable="false"
	     zorder="0"
	     visible="false"
	     html=""
	     devices="html5"
         />






<!-- ********* -->
<!-- Gyroscope -->
<!-- ********* -->
<plugin name="gyroscope"
        url="graphics/gyro.js"
        keep="true"
        devices="tablet|mobile"
        onavailable="delayedcall(1, checkGyroAvailability(););"
        enabled="true"
        />

<action name="changeGyroscopeState">
  ifnot (plugin[gyroscope].available === undefined,
    if (plugin[gyroscope].available,
      switch(plugin[gyroscope].enabled);
      if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
    );
  );
</action>

<action name="checkGyroAvailability">
	ifnot (plugin[gyroscope].available === undefined, 
		if (plugin[gyroscope].available,
			set(tour_gyroscopedevices, true);
			events.dispatch(ongyroscopeavailable);
			if (plugin[gyroscope].enabled, events.dispatch(ongyroscopeon);, events.dispatch(ongyroscopeoff););
		,
			set(tour_gyroscopedevices, false);
			set(plugin[gyroscope].enabled, false);
		);
	,
		set(tour_gyroscopedevices, false);
		set(plugin[gyroscope].enabled, false);
	);
</action>
  <action name="displayImage">
    if (%1 == null,
      showlog();trace("Display Image : function called without any image. Verify its parameters in Panotour.");
    ,
    if (layer[displayedStandardImage],
      if(layer[displayedStandardImage].doNotDeleteMe,
        set(layer[displayedStandardImage].currentCall, false);
        set(layer[displayedStandardImage].visible, true);
        set(layer[displayedStandardImage].doNotDeleteMe, false);
        
        if (%1 == layer[displayedStandardImage].url,resumeautorotation();
          removelayer(displayedStandardImage);
        ,
          setDisplayedImageObjectParameters(%1, %2, %3, %4, %5, %6);
        );
      ,
        set(layer[displayedStandardImage].currentCall, true);
        set(layer[displayedStandardImage].doNotDeleteMe, true);
        events.dispatch(onremovedisplayedobject);
        delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7););
      );
    ,
      addlayer(displayedStandardImage);
      set(layer[displayedStandardImage].keep, false);
      set(layer[displayedStandardImage].onclick, resumeautorotation();removelayer(displayedStandardImage));
      set(layer[displayedStandardImage].zorder , 99);
      
      set(layer[displayedStandardImage].currentCall, true);
      set(layer[displayedStandardImage].doNotDeleteMe, true);
      events.dispatch(onremovedisplayedobject);
      delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7););
      if (%7,pauseautorotation(););
      set(layer[displayedStandardImage].visible, false);
    );
    );
  </action>
  <action name="setDisplayedImageObjectParameters">
    set(layer[displayedStandardImage].url    , %1);
    set(layer[displayedStandardImage].align  , %2);
    set(layer[displayedStandardImage].x      , %3);
    set(layer[displayedStandardImage].y      , %4);
    set(layer[displayedStandardImage].width  , %5);
    set(layer[displayedStandardImage].height , %6);
  </action> 
  <events name="displayedImageObjectEvents" keep="true" onremovedisplayedobject="displayedImageObjectOnRemoveDisplayedObject"/>
  <action name="displayedImageObjectOnRemoveDisplayedObject">
    ifnot(layer[displayedStandardImage].currentCall,if(layer[displayedStandardImage].visible,resumeautorotation();
      removelayer(displayedStandardImage);
    ););
  </action>
  <!-- Hide / Show Controls -->
  <action name="hideTourControls">set(tour_displaycontrols, false);events.dispatch(hidetourcontrols);</action>
  <action name="showTourControls">set(tour_displaycontrols, true); events.dispatch(showtourcontrols);</action>
  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);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>
  <action name="enableGyroscope">
    changeGyroscopeState();
  </action>
  <action name="disableGyroscope">
    changeGyroscopeState();
  </action>
</krpano>