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

    
  <!-- Spot Style - Right  -->
  <style name="IconRight"
         url="%FIRSTXML%/spots/hotspot_direction_user_defaultpoint9.png"
         visible="false"
         rotate="180"
         alpha="0.8"

         onhover="onhoverIconRight"
         onover="onoverIconRight"
         onout="onoutIconRight"

         height="50"
         width="50"
         />

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

  <action name="onoverIconRight">
tween(scale, 1.2);
tween(alpha, 1);

  </action>

  <action name="onoutIconRight">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);

  </action>



    
  <!-- Spot Style - Up Arrow  -->
  <style name="IconUpArrow"
         url="%FIRSTXML%/spots/hotspot_direction_user_defaultpoint10.png"
         visible="false"
         rotate="270"
         alpha="0.8"

         onhover="onhoverIconUpArrow"
         onover="onoverIconUpArrow"
         onout="onoutIconUpArrow"

         height="50"
         width="50"
         />

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

  <action name="onoverIconUpArrow">
tween(scale, 1.2);
tween(alpha, 1);

  </action>

  <action name="onoutIconUpArrow">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);

  </action>



    
  <!-- Spot Style - Left -->
  <style name="IconLeft"
         url="%FIRSTXML%/spots/hotspot_direction_user_defaultpoint11.png"
         visible="false"
         alpha="0.8"

         onhover="onhoverIconLeft"
         onover="onoverIconLeft"
         onout="onoutIconLeft"

         height="50"
         width="50"
         />

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

  <action name="onoverIconLeft">
tween(scale, 1.2);
tween(alpha, 1);

  </action>

  <action name="onoutIconLeft">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);

  </action>



<!-- ********** -->
<!-- Analytics -->
<!-- id : analytics -->
<!-- ********** -->

<ptplugin name="analytics" engine="kolorAnalytics">
	<settings>
		<option name="source" value="google" type="string" />
		<option name="tracking_id" value="UA-41542029-1" type="string" />
		<option name="force_ssl" value="true" type="bool" />
		<option name="force_test" value="false" type="bool" />
		<option name="start_page" value="Beautiful Minds FINAL/vr" type="string" />
		<option name="start_title" value="Beautiful Minds" type="string" />
		<option name="start_lang" value="en" type="string" />
		<option name="use_i18n" value="true" type="bool" />
	</settings>
</ptplugin>

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

<action name="activate_analytics">
	if(ptplugin[analytics].jsready,
		stopdelayedcall(delay_analytics_active);
		js(invokePluginFunction(analytics, toggleDeactivation, false));
	,
		delayedcall(delay_analytics_active, 0.1, activate_analytics(););
	);
</action>

<action name="deactivate_analytics">
	if(ptplugin[analytics].jsready,
		stopdelayedcall(delay_analytics_active);
		js(invokePluginFunction(analytics, toggleDeactivation, true));
	,
		delayedcall(delay_analytics_active, 0.1, deactivate_analytics(););
	);
</action>

<action name="sendPage_analytics">
	if(ptplugin[analytics].jsready,
		stopdelayedcall(delay_analytics_page);
		js(invokePluginFunction(analytics, sendPageview, %1, %2));
	,
		delayedcall(delay_analytics_page,0.5,sendPage_analytics(%1,%2));
	);
</action>

<!-- 
sendEvent_analytics action :
* param1 : category
* param2 : action
* param3 : label
* param4 : number value
-->
<action name="sendEvent_analytics">
	if(ptplugin[analytics].jsready,
		stopdelayedcall(delay_analytics_event);
		js(invokePluginFunction(analytics, sendEvent, %1, %2, %3, %4));
	,
		delayedcall(delay_analytics_event,0.5,sendEvent_analytics(%1,%2,%3,%4));
	);
</action>

<action name="changeLanguage_analytics">
	if(ptplugin[analytics].jsready,
		stopdelayedcall(delay_analytics_lang);
		js(invokePluginFunction(analytics, changeLanguage));
	,
		delayedcall(delay_analytics_lang,0.1,changeLanguage_analytics());
	);
</action>

<events name="kolorAnalyticsEvents_analytics" 
	keep="true"
	onTourStart="sendEvent_analytics('panotour','tour start', 'Beautiful Minds');"
	onnewpano="sendPage_analytics(get(scene[get(xml.scene)].name), get(scene[get(xml.scene)].titleid));"
	changetourlanguage="changeLanguage_analytics();"
	/>

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


  <!-- Share Tour -->
  <action name="shareTour">events.dispatch(onsharetour);</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(mod(view.vlookat, 90)-%2) LT view.vlookatmin,
				moveto(get(view.hlookat), get(view.vlookatmin));
			,
				moveto(get(view.hlookat), calc(mod(view.vlookat, 90)-%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(mod(view.vlookat, 90)+%2) GT view.vlookatmax,
				moveto(get(view.hlookat), get(view.vlookatmax));
			,
				moveto(get(view.hlookat), calc(mod(view.vlookat, 90)+%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>

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

  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);js(setFullscreen(false));</action>
  <action name="enterFullScreen" devices="fullscreensupport">set(tour_fullscreen,true);js(setFullscreen(true));</action>
  <action name="switchFullScreen">if(tour_fullscreen,exitFullScreen();,enterFullScreen(););</action>

  
  <events name="krpanoExitFullscreenEvent"
    onexitfullscreen="if(tour_fullscreen,exitFullScreenChangeEvent(););"
    keep="true" />

  <action name="exitFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,false);events.dispatch(onexitfullscreen);</action>
  <action name="enterFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,true);events.dispatch(onenterfullscreen);</action>
  <action name="exitFullScreenFallback">set(fullscreen,false);</action>
  <action name="enterFullScreenFallback">set(fullscreen,true);</action>
  
  <action name="resizeFullScreenEvent">delayedcall(0,updatescreen(););</action>

</krpano>