﻿<krpano version="1.20.10" logkey="false" showerrors="false">

<include url="h_skin_responsive.xml?1"/>

//
<display loadwhilemoving="true"/>

// 3D SCENES HS

<events name="scenes3dhs" onloadcomplete="if(show_shops,trace('Shops and 3d scenes HS are displayed'),remove3dhs())" keep="true"/>

<action name="remove3dhs">
if(!ediths,
for(sub(i,hotspot.count,1), i GE 0, dec(i),
if(contains(hotspot[get(i)].linkedscene,'3d'),removehotspot(get(hotspot[get(i)].name)););
);
);
</action>

// STARTUP

  <action name="startup" autorun="onstart">
    if(startscene === null OR !scene[get(startscene)], copy(startscene,scene[0].name); );
    loadscene(get(startscene), null, MERGE);show_ui();
    if(startactions !== null, startactions() );
  </action>

//CLIPBOARD

<action name="copy_to_clipboard" type="Javascript"><![CDATA[
    var textarea = document.createElement('textarea');
    textarea.value = args[1];
    krpano.display.viewerlayer.appendChild(textarea);
    textarea.select();
    document.execCommand('copy');
    krpano.display.viewerlayer.removeChild(textarea);
]]></action>

//RESPONSIVE

<events name="responsive_event" onresize="check_space_javascript()" onxmlcomplete="calc(space,layer[top_logo].width + layer[top_logo].x + layer[fuzzysearch_placeholder].width + 200);" keep="true"/>

<action name="check_space_javascript" type="Javascript" protect="true"><![CDATA[
	if($(".chosen-select").parent().hasClass("open")){
		setTimeout(function(){
			krpano.call("check_space_javascript");
		}, 200);
	}else{
		krpano.call("check_space");
	}
]]></action>

<action name="check_space">
calc(layer[atomic_start_logo].y,stageheight/8);
if(space GE stagewidth,smallscreen_responsive(),bigscreen_responsive);
if(stagewidth LE 420, set(layer[loading_logo].width,240);set(layer[loading_logo_title].width,240);set(layer[masq_baseline].width,240));
</action>

<action name="smallscreen_responsive">
set(responsive_state,small_screen);
tween(layer[fuzzysearch_placeholder].x,get(layer[fuzzysearch_placeholder].xsmall));
tween(layer[fuzzysearch_placeholder].y,get(layer[fuzzysearch_placeholder].ysmall));
tween(layer[helicopter_button].x,get(layer[helicopter_button].xsmall));
tween(layer[helicopter_button].y,get(layer[helicopter_button].ysmall));
tween(layer[backtopreviousscene].x,get(layer[backtopreviousscene].xsmall));
tween(layer[backtopreviousscene].y,get(layer[backtopreviousscene].ysmall));
tween(layer[share_view].x,get(layer[share_view].xsmall));
tween(layer[share_view].y,get(layer[share_view].ysmall));
tween(layer[top_logo].width,get(layer[top_logo].small));
set(layer[shareset].x,0);
set(layer[shareset].y,0);
set(layer[shareset].align,center);
</action>

<action name="bigscreen_responsive">
set(responsive_state,big_screen);
tween(layer[fuzzysearch_placeholder].x,get(layer[fuzzysearch_placeholder].xbig));
tween(layer[fuzzysearch_placeholder].y,get(layer[fuzzysearch_placeholder].ybig));
tween(layer[helicopter_button].x,get(layer[helicopter_button].xbig));
tween(layer[helicopter_button].y,get(layer[helicopter_button].ybig));
tween(layer[backtopreviousscene].x,get(layer[backtopreviousscene].xbig));
tween(layer[backtopreviousscene].y,get(layer[backtopreviousscene].ybig));
tween(layer[share_view].x,get(layer[share_view].xbig));
tween(layer[share_view].y,get(layer[share_view].ybig));
tween(layer[top_logo].width,get(layer[top_logo].big));
set(layer[shareset].x,20);
set(layer[shareset].y,90);
set(layer[shareset].align,topright);
</action>


//NADIR

 <style name="nadir" ath="0" atv="90" url="%FIRSTXML%/logo/nadir.png" enabled="false" keep="true" scale="0.5" zoom="true"/>

//HAMID Search plugin

<events name="hide_search_field" onmousedown="plugin[fuzzysearch].close();" keep="true"/>

	<layer name="fuzzysearch_placeholder" align="topright" type="container" alpha="1"
	x="210"
	y="46"
	zorder="9"
	width="300"
	keep="true"
	scalechildren="true"
	onhover="showtext(Search for a shop,DEFAULT_search)"
	xsmall="25" ysmall="179"
	xbig="210" ybig="46"
	if="ui"
	/>

	<plugin name="fuzzysearch"
			url="%SWFPATH%/plugins/fuzzysearch.js?2"
			keep="true"
			devices="html5"
			width="100%"
			width.mobile="142.88%"
			x="0"
			y="0"
			align="topright"
			parent="fuzzysearch_placeholder"
			include_jquery="true"
			auto_generate_scenes_list="false"
			group_scenes="false"
			theme="style_01"
			font_size="13"
			font_size.mobile="20"
			font_name="Lato"
			textcolor="0x000000"
			bgcolor="0xffffff"
			bgalpha="1"
			bordercolor="0xaaaaaa"
			borderalpha="1"
			selected_item_textcolor="0x000000"
			selected_item_bgcolor="0xf2f2f2"
			selected_item_bgalpha="1"
			button_bgcolor="0xed143d"
			button_bgalpha="1"
			button_textcolor="0xffffff"
			categorybgcolor="0xeeeeee"
			categorybgalpha="1"
			categorytextcolor="0xaaaaaa"
			maxheight="200px"
			text_direction="ltr"
			placeholder="Enter a shop name or ID"
			onInitialized="get_data_from_api()"
			if="ui"
	/>

//SHOWTEXT

<include url="%SWFPATH%/plugins/showtext.xml"/>

<textstyle name="DEFAULT"
           origin="cursor"
           edge="right"
           xoffset="-10"
           yoffset="27"
           fadeintime="0.0"
           showtime="0.1"
           fadetime="0.0"
		   font="Lato"
           fontsize="16"
           bold="false"
           italic="false"
           textcolor="0xffffff"
           textalign="none"
           padding="6 12"
           css="color:#fff;font-size:18px;font-family: Lato;font-weight:400"
           width=""
           height=""
           vcenter=""
           background="true"
           backgroundcolor="0x000000"
           backgroundalpha="0.8"
           border="false"
           bordercolor="0x000000"
           borderalpha="1.0"
           borderwidth="1.0"
           roundedge="8"
           shadow="0.0"
           shadowrange="4.0"
           shadowangle="45"
           shadowcolor="0x000000"
           shadowalpha="1.0"
           textshadow="0.0"
           textshadowrange="4.0"
           textshadowangle="45"
           textshadowcolor="0x000000"
           textshadowalpha="1.0"
           alpha="1.0"
           parent=""
           noclip="true"
           />

<textstyle name="DEFAULT_search"
           origin="cursor"
           edge="right"
           xoffset="-10"
           yoffset="27"
           fadeintime="0.0"
           showtime="0.1"
           fadetime="0.0"
		   font="Lato"
           fontsize="16"
           bold="false"
           italic="false"
           textcolor="0xffffff"
           textalign="none"
           padding="6 12"
           css="color:#fff;font-size:18px;font-family: Lato;font-weight:400"
           width=""
           height=""
           vcenter=""
           background="true"
           backgroundcolor="0x000000"
           backgroundalpha="0.8"
           border="false"
           bordercolor="0x000000"
           borderalpha="1.0"
           borderwidth="1.0"
           roundedge="8"
           shadow="0.0"
           shadowrange="4.0"
           shadowangle="45"
           shadowcolor="0x000000"
           shadowalpha="1.0"
           textshadow="0.0"
           textshadowrange="4.0"
           textshadowangle="45"
           textshadowcolor="0x000000"
           textshadowalpha="1.0"
           alpha="1.0"
           parent=""
           noclip="true"
           />

<include url="%SWFPATH%/plugins/callout_responsive.xml" if="!device.mobilevr"/>
<include url="%SWFPATH%/plugins/callout_vr.xml" if="device.mobilevr"/>

//INTRO

<style name="loading_bg" type="container" width="100%" height="100%" bgcolor="0x000000" bgalpha="0.9" align="center" bgcapture="true" keep="true" handcursor="false" zorder="1000"/>

<style name="loading_borders_bottom" type="container" align="bottomleft" bgborder="0,0,3,3 0xb68250 1" width="-80" height="-80" x="41" y="41" scale="0.0"/>
<style name="loading_borders_top" type="container" align="topright" bgborder="3,3,0,0 0xb68250 1" width="-80" height="-80" x="41" y="41" scale="0.0"/>

<style name="logo_part" align="center" alpha="0" animate="animate_loading_logo()" enabled="false" height="20%" width="prop" y="-15%"/>

<style name="loading_start" url="%SWFPATH%/start_tour.png" align="center" edge="top" zorder="2"  alpha="0"  x="0" y="0" enabled="false" maxwidth="250" maxheight="25" height="3%" width="prop"/>


<style name="vicinity_logo" url="%SWFPATH%/vicinity_logo.png" align="center" y="25%" alpha="0" maxwidth="156" maxheight="54"  height="7%" width="prop" animate="animate_loading_logo()" enabled="false"/>

<layer name="atomic_start_logo" url="%SWFPATH%/atomic_start_logo.png" maxwidth="170" maxheight="51" height="prop" width="100%"  parent="layer[vicinity_logo]" keep="true" y="calc:stageheight/8" onloaded="if(layer[vicinity_logo],,removelayer(atomic_start_logo))"/>

<action name="animate_loading_logo" scope="local">
tween(caller.scale|caller.alpha,1);
</action>

<style name="start_btn" onclick="start_tour"/>


//POLYGON

<style name="polygon" capture="false" capture.touch="false" onover="tween(fillalpha,0.7);tween(hotspot[center_logo].alpha,1)" onout="tween(fillalpha,0.4);tween(hotspot[center_logo].alpha,0)" zorder="1" onout.touch="" onclick="delayedcall(0.2,loadscene(get(linkedscene),null,MERGE,BLEND(2)))" fillcolor="0x000000" fillalpha="0.4" fillalpha.touch="0.7" borderwidth="3.0" bordercolor="0xffffff" borderalpha="1"/>

//POP HOTSPOT

<style name="pophs" type="container" width="2" buheight="80" bgcolor="0xffffff" bgalpha="1" enabled="false" accuracy="1" edge="bottom" alpha="0" height="0" onloaded="  txtadd(mybubble,'bubble',get(name));  addlayer(get(mybubble));  copy(hotspot[get(name)].mybubble,mybubble);  layer[get(mybubble)].loadstyle(hstextlayer);  set(layer[get(mybubble)].handcursor,false);   txtadd(parentlayer,'hotspot[',get(name),']');  copy(layer[get(mybubble)].parent,parentlayer);   set(layer[get(mybubble)].html, get(html));  " onpopup="tween(alpha,1);tween(height,get(buheight),0.7);" onpopin="tween(alpha|height,0);"/>

<events name="pophs" onviewchanged="if(scene[get(xml.scene)].name === aerial_scene,pophs());" keep="true"/>

<action name="pophs">
if(letspopup,
    for(set(i,0), i LT hotspot.count, inc(i),
	if(hotspot[get(i)].style === 'pophs',
        getlooktodistance(dp, hotspot[get(i)].ath, hotspot[get(i)].atv);
        if(dp LT 30,
            popup_hotspot(get(i));
          ,
            popin_hotspot(get(i));
          );
	);
      );
);
</action>

<action name="popup_hotspot">
    if(hotspot[%1].ishighlightedpopup != true,
		set(hotspot[%1].ishighlightedpopup, true);
		callwith(hotspot[get(i)],onpopup);
     );
</action>

<action name="popin_hotspot">
	if(hotspot[%1].ishighlightedpopup,
    	set(hotspot[%1].ishighlightedpopup, false);
		callwith(hotspot[get(i)],onpopin);
	);
</action>

<style name="hstextlayer" type="text" bg="false" keep="true" align="top" edge="bottom" oy="-10" css=" p{color:#fff;font-size:22px;font-family: Lato;text-align:center;line-height:23px;font-weight:400} dist{font-family:Secondary;font-size:13px;border-radius:20px;padding:3px 6px 3px 25px;background: #5487a3 url(../common_files/transport.png) 5px 3px/16px 16px no-repeat;} term{font-family:Secondary;font-size:13px;border-radius:20px;padding:3px 6px;background: #5487a3;} " txtshadow="3 3 10 0x000000 0.7"/>

//POP HOTSPOT VR

<style name="pophs_vr" type="text" width="2" buheight="80" bgcolor="0xffffff" bgalpha="1" accuracy="1" edge="bottom" alpha="0" height="0" depth="off" oversampling="2" mipmapping="true" distorted.mobilevr="true" enabled="false" scale="0.5"
onloaded="
txtadd(mybubble,'bubble',get(name));
addhotspot(get(mybubble));
copy(hotspot[get(name)].mybubble,mybubble);
hotspot[get(mybubble)].loadstyle(hstextlayer_vr);
set(hotspot[get(mybubble)].html, get(html));
copy(hotspot[get(mybubble)].ath,ath);
copy(hotspot[get(mybubble)].atv,atv);

txtadd(mydist,'dist',get(name));
addhotspot(get(mydist));
copy(hotspot[get(name)].mydist,mydist);
hotspot[get(mydist)].loadstyle(mydiststyle_vr);
set(hotspot[get(mydist)].html, get(dist));
copy(hotspot[get(mydist)].ath,ath);
copy(hotspot[get(mydist)].atv,atv);

txtadd(myico,'ico',get(name));
addhotspot(get(myico));
copy(hotspot[get(name)].myico,myico);
copy(hotspot[get(mydist)].myico,myico);
hotspot[get(myico)].loadstyle(myicostyle_vr);
copy(hotspot[get(myico)].ath,ath);
copy(hotspot[get(myico)].atv,atv);
"

onpopup="tween(hotspot[get(mybubble)].alpha|hotspot[get(mydist)].alpha|hotspot[get(myico)].alpha|alpha,1);tween(height,get(buheight),0.7);tween(hotspot[get(mybubble)].oy|hotspot[get(mydist)].oy|hotspot[get(myico)].oy,calc(- ((buheight * scale) + 15)),0.7);"
onpopin="tween(hotspot[get(mybubble)].alpha|hotspot[get(mydist)].alpha|hotspot[get(myico)].alpha|hotspot[get(mybubble)].oy|hotspot[get(mydist)].oy|hotspot[get(myico)].oy|alpha|height,0);"/>

<style name="hstextlayer_vr" type="text" bg="false" edge="bottom" alpha="0" css="color:#fff;font-size:22px;font-family: Lato;text-align:center;line-height:23px;font-weight:400" txtshadow="3 3 10 0x000000 0.7" depth="off" oversampling="2" mipmapping="true" distorted.mobilevr="true" enabled="false" scale="0.5"/>

<style name="mydiststyle_vr" type="text" edge="top" alpha="0" bgroundedge="8" bg="true" bgcolor="0x5487a3" padding="3 6 3 25" css="color:#fff;font-family:Secondary;font-size:13px;" txtshadow="3 3 10 0x000000 0.7" depth="off" oversampling="2" mipmapping="true" distorted.mobilevr="true" enabled="false" scale="0.5" onautosized="calc(hotspot[get(myico)].ox,-(width - 25)/4)"/>

<style name="myicostyle_vr" url="%SWFPATH%/transport.png" edge="top" alpha="0" depth="off" oversampling="2" mipmapping="true" distorted.mobilevr="true" enabled="false" scale="0.4"/>

<events name="pophs_vr" onviewchanged="if(scene[get(xml.scene)].name === aerial_scene AND webvr.isenabled,pophs_vr());" keep="true"/>

<action name="pophs_vr">
if(letspopup,
    for(set(i,0), i LT hotspot.count, inc(i),
	if(hotspot[get(i)].style === 'pophs_vr',
        getlooktodistance(dp, hotspot[get(i)].ath, hotspot[get(i)].atv);
        if(dp LT 30,
            popup_hotspot(get(i));
          ,
            popin_hotspot(get(i));
          );
	);
      );
);
</action>


//FULLSCREEN

<events onenterfullscreen="set(layer[enterfullscreen].visible,false);set(layer[exitfullscreen].visible,true)"
        onexitfullscreen="set(layer[enterfullscreen].visible,true);set(layer[exitfullscreen].visible,false)"/>

<!-- <layer name="enterfullscreen" style="fsbut" url="expand.png" onclick="set(fullscreen,true);"  visible="false" onloaded="if((!device.ipad AND !device.safari) AND device.fullscreensupport,set(visible,true),set(visible,false))"/> -->
<layer name="enterfullscreen" style="fsbut" url="expand.png" onclick="set(fullscreen,true);"  devices="fullscreensupport" if="leftplayer"/>
<layer name="exitfullscreen" style="fsbut" url="compress.png" onclick="set(fullscreen,false);" visible="false" devices="fullscreensupport"/>
<style name="fsbut" align="bottomleft" x="20" y="20" width="20" height="prop" keep="true" zorder="2" />

//SCENE NAME

<layer name="scene_name" type="text" align="bottomleft" x="70" y="15" bg="false" css="color:#fff;font-size:14px" keep="true" enabled="false" visible.mobile="false" if="leftplayer"/>


//EVENTS

<events name="general" keep="true"
			ondoubleclick.desktop.or.mobile="toggle(fullscreen);"
			onnewscene="copy(layer[scene_name].html,scene[get(xml.scene)].name);
			if(scene[get(xml.scene)].name != aerial_scene,
				set(hotspot[nadir_logo].visible,true);
				set(layer[helicopter_button].visible,true);
				if(showlevels,set(layer[levels].visible,true););
				,
				set(hotspot[nadir_logo].visible,false);
				set(layer[helicopter_button].visible,false);
				if(showlevels,set(layer[levels].visible,false););
			);
			if(showlevels,
				reset_active_level();
				tween(layer[level_indicator].y,get(layer[calc(scene[get(xml.scene)].level)].y));
				set(layer[calc(scene[get(xml.scene)].level)].enabled,false);
				callwith(layer[calc(scene[get(xml.scene)].level)],onout);
			)"
			onloadcomplete="set(letspopup,true)" onremovepano="set(letspopup,false)"
	        />

<events name="loadingpercent" onxmlcomplete="if(h,delayedcall(0.1,removelayer(loading_bg,true)),loadingpercent_startloading())" keep="true"/>

//FOLLOW MOUSE

	<action name="followmouse_init" scope="private:followmouse" autorun="onstart" devices="desktop">
		set(followspeed, 0.05);
		set(followrange, 10);
		set(followfactor, 1.0);
		set(track_ry, 0);
		set(track_rx, 0);
		set(global.events[followmouse].keep, true);
		set(global.events[followmouse].onviewchanged, set(global.view.haschanged,true); );
		set(global.events[followmouse].onviewchange, followmouse_onviewchange() );
		set(global.events[followmouse].onmousedown, scope(private:followmouse, stopdelayedcall(followmouse_reenable); tween(followfactor,0.0,0.2); ); );
		set(global.events[followmouse].onmouseup, scope(private:followmouse, delayedcall(followmouse_reenable, 2.0, tween(followfactor,1.0,3.0) ); ); );
	</action>

	<action name="followmouse_onviewchange" scope="private:followmouse">
		if(global.mouse.x != 0 AND global.mouse.y != 0,
			Math.tan(zoomscale, calc(global.view.vfov * 0.5 * Math.PI / 180.0));
			calc(zoomscale, 1.0 / zoomscale);
			Math.max(zoomscale, 1.0);
			calc(new_ry, followfactor/zoomscale * followrange * (global.mouse.x / global.stagewidth - 0.5));
			calc(new_rx, followfactor/zoomscale * followrange * (global.mouse.y / global.stageheight - 0.5));
			calc(track_ry, track_ry*(1.0-followspeed) + new_ry*followspeed);
			calc(track_rx, track_rx*(1.0-followspeed) + new_rx*followspeed);
			copy(global.view.ry, track_ry);
			copy(global.view.rx, track_rx);
		);
	</action>


//SHOW HIDE UI

<action name="show_ui">
set(hotspot[floorspot].enabled,true);
tween(layer[top_logo].x,20);
tween(layer[compass].x,20);
display_google_nav(true);
tween(layer[atomicvr].x,10);
if(showlevels,tween(layer[levels].x,0););
tween(layer[scene_name].y,15);
tween(layer[enterfullscreen].y,20);
tween(layer[exitfullscreen].y,20);

if(responsive_state == small_screen,
smallscreen_responsive();
,
bigscreen_responsive();
);
if(layer[map_bg].state == displayed,tween(layer[map_bg].alpha,1));
</action>


<action name="hide_ui">
set(hotspot[floorspot].enabled,false);
tween(layer[top_logo].x,-200);
tween(layer[compass].x,-80);
display_google_nav(false);
tween(layer[atomicvr].x,-250);
if(showlevels,tween(layer[levels].x,-80););
tween(layer[enterfullscreen].y,-80);
tween(layer[exitfullscreen].y,-80);
tween(layer[scene_name].y,-80);
if(responsive_state == small_screen,
tween(layer[helicopter_button].x,-80);
tween(layer[backtopreviousscene].x,-80);
tween(layer[fuzzysearch_placeholder].x,-80);
tween(layer[share_view].x,-80);
,
tween(layer[helicopter_button].y,-80);
tween(layer[backtopreviousscene].y,-80);
tween(layer[fuzzysearch_placeholder].y,-80);
tween(layer[share_view].y,-80);
);
if(layer[map_bg].state == displayed,tween(layer[map_bg].alpha,0));
</action>


<action name="display_google_nav">
for(set(i,0),i LT layer.count,inc(i),
	if(layer[get(i)].style == googlestyle_graphic OR layer[get(i)].style == googlestyle_graphic_red,set(layer[get(i)].visible,%1))
	);
</action>

//SHADOW

<layer name="mytopshadow" type="container" align="top" keep="true" width="100%" height="100" y="-100" bgshadow="-50 10 150 0x000000 1" enabled="false" />

<layer name="mybottomshadow" type="container" align="bottom" keep="true" width="100%" height="100" y="-100" bgshadow="-50 -10 150 0x000000 1" enabled="false" />


//BOTTOM

<layer name="atomicvr" url="vicinity_logo.png" align="bottomright" enabled="false" width="100" height="prop" x="10" y="10" keep="true" devices="desktop" if="ui"/>

//SIDE

<style name="levels" type="container" align="right" width="50" width.mobile="35" keep="true"/>
<style name="level" type="text" align="left" bg="false" css="font-family:Lato;color:#fff;font-size:18px;font-weight:400" keep="true" onover="copy(layer[level_tooltip].html,tooltip);copy(layer[level_tooltip].y,y);tween(layer[level_tooltip].alpha|layer[level_tooltip].ox,1|0)" onout="tween(layer[level_tooltip].alpha|layer[level_tooltip].ox,0|10)" onclick="find_nearest_level()"/>

<style name="level_tooltip" type="text" align="left" edge="right" bgcolor="0x000000" bgalpha="0.8" bgroundedge="8" padding="6 12" css="color:#fff;font-size:16px;font-family: Lato;font-weight:400" keep="true" alpha="0" enabled="false" ox="10"/>

<style name="level_indicator" type="container" width="70" width.mobile="50" height="30" bgcolor="0xb68250" bgborder="0,0,0,10 0xffffff 1" bgalpha="1" align="right" keep="true"/>

	<action name="reset_active_level" scope="local">
	for(set(i,0),i LT layer.count, inc(i),
		if(layer[get(i)].style === 'level',set(layer[get(i)].enabled,true))
	);
	</action>

//NAVIGATION HOTSPOTS

<events name="add_nav_hs" onxmlcomplete="hs_to_googlenav" keep="true"/>

<action name="hs_to_googlenav" protect="true" scope="local">
	for(set(i,0),i LT hotspot.count, inc(i),
		if(hotspot[get(i)].style == 'myhotspot',
		dothejob(get(hotspot[get(i)].ath),get(hotspot[get(i)].linkedscene),get(hotspot[get(i)].distance))
		);
	);
remove_unwanted_googlenav();
</action>

<action name="dothejob">
addhotspot(auto,gnhs);
set(gnhs,
	ath=%1,
	linkedscene=%2,
	hdir=%1,
	ty=800,
	distance=%3
	);
if(%3 GT 1000,set(gnhs.distance,1));
if(webvr.isenabled,
    gnhs.loadstyle(googlestyle_vr);
    ,
    gnhs.loadstyle(googlestyle);
    );
</action>



<action name="remove_unwanted_googlenav" protect="true">
for(set(i,0),i LT hotspot.count,inc(i),
	if(hotspot[get(i)].style == googlestyle OR hotspot[get(i)].style == googlestyle_vr,
		for(set(y,0),y LT hotspot.count,inc(y),
			if(hotspot[get(i)].style == googlestyle OR hotspot[get(i)].style == googlestyle_vr,
				if(hotspot[get(i)] != hotspot[get(y)],
					calc(dif,hotspot[get(i)].hdir - hotspot[get(y)].hdir);
					Math.abs(dif);
					if(dif LE 30,
						if(hotspot[get(i)].distance LT hotspot[get(y)].distance,
							removehotspot(get(hotspot[get(y)].name),true);
							,
							removehotspot(get(hotspot[get(i)].name),true);
						);
					);
				);
			);
		);
	);
);
</action>

<style name="myhotspot" url="hotspot.png" onclick="load3d" visible="false" isnav="true"/>

//NAVIGATION

<hotspot name="floorspot" url="oval.png" depth="off" devices="desktop|mobilevr"
		oversampling="2" mipmapping="true"
		capture="false"
		distorted="true"
		autoalpha="true"
		keep="true"
		onloaded="mousemove()"
		active="true"
		onclick="set(visible,false);set(active,false);callwith(hotspot[get(nhs)],onclick);if(webvr.isvrbrowser,playsound(move,move.mp3));"
		/>


	<action name="mousemove" scope="local">
	asyncloop(caller.loaded AND caller.active,
		if(webvr.isenabled,
		spacetosphere(hotspot[vrpoint].tx,hotspot[vrpoint].ty,hotspot[vrpoint].tz, mth,mtv,depth);
		,
		screentosphere(mouse.x, mouse.y, mth, mtv);
		);
		searchfornearesths(get(mth),get(mtv));
		set(hotspot[floorspot].ath, get(mth));
		set(hotspot[floorspot].atv, get(mtv));
		sub(a, -90, mtv);
		set(hotspot[floorspot].rx, get(a));
		mul(hotspot[floorspot].scale, mtv, 0.02);
		);
	</action>

//NAVIGATION

<events name="touch_navigation" onclick="go_to_nearest_hs()" devices="touch" keep="true"/>


<action name="searchfornearesths" scope="local">
set(c,1000);
if(%2 GT 5 AND %2 LE 90,
	for(set(i,0), i LT hotspot.count, inc(i),
		if(hotspot[get(i)].isnav,
		getlooktodistance(d, hotspot[get(i)].ath, hotspot[get(i)].atv, %1, %2);
		if(d LT c,copy(c,d);copy(global.nhs,hotspot[get(i)].name));
		if(contains(hotspot[get(global.nhs)].linkedscene,'3d'),set(hotspot[floorspot].url,%SWFPATH%/oval_red.png),set(hotspot[floorspot].url,%SWFPATH%/oval.png));
		);
	);
calc(hotspot[floorspot].alpha, c LT 10 ? 1.0 : 1.0-(c-10));
	,
set(hotspot[floorspot].alpha, 0);
);
</action>


<action name="go_to_nearest_hs">
if(scene[get(xml.scene)].name != aerial_scene AND !popupon,
screentosphere(mouse.x, mouse.y, mth, mtv);
searchfornearesths_touch(get(mth),get(mtv));
);
</action>

<action name="searchfornearesths_touch" scope="local">
set(c,1000);
if(%2 GT 5 AND %2 LE 90,
	for(set(i,0), i LT hotspot.count, inc(i),
		if(hotspot[get(i)].isnav,
		getlooktodistance(d, hotspot[get(i)].ath, hotspot[get(i)].atv, %1, %2);
		if(d LT c,copy(c,d);copy(global.nhs,hotspot[get(i)].name))
		);
	);
);
callwith(hotspot[get(nhs)],onclick);
</action>


	<action name="load3d" scope="local">
		if(caller.linkedscene,
			lookto(get(caller.ath),0,get(view.fov),smooth(50,50,100));
			loadscene(get(caller.linkedscene),
				view.fov=150&amp;view.fovmax=150,
				MERGE|KEEPLOOKAT,
				ZOOMBLEND(1.5, calc:(caller.distance / 10)+2, easeInOutSine),
				tween(view.fov,120,2.5,,set(view.fovmax,120););
				set(hotspot[floorspot].active,true);
				callwith(hotspot[floorspot],onloaded);
			);
		);
	</action>

<action name="find_nearest_level" scope="local">
set(global.nearest,1000);
for(set(i,0),i LT scene.count, inc(i),
	if(scene[get(i)].level == caller.name,
	search_hotspots_from_gps(get(scene[get(i)].name),get(scene[get(i)].lat),get(scene[get(i)].lng));
	);
);
load_nearest_level_hs(get(nearesths),get(caller.name));
</action>

 <action name="search_hotspots_from_gps" type="Javascript" protect="true"><![CDATA[
	const lat1 = krpano.get('scene[get(xml.scene)].lat');
	const lon1 = krpano.get('scene[get(xml.scene)].lng');
	const lat2 = args[2];
	const lon2 = args[3];
	const R = 6371e3;

	var nearest = krpano.get('nearest');

	const φ1 = lat1 * Math.PI/180;
	const φ2 = lat2 * Math.PI/180;
	const λ1 = lon1 * Math.PI/180;
	const λ2 = lon2 * Math.PI/180;
	const Δφ = (lat2-lat1) * Math.PI/180;
	const Δλ = (lon2-lon1) * Math.PI/180;

	const a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
			  Math.cos(φ1) * Math.cos(φ2) *
			  Math.sin(Δλ/2) * Math.sin(Δλ/2);
	const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));

	const d = R * c;

	if(d < nearest){krpano.set('nearest',d);krpano.set('nearesths',args[1])}
]]></action>

	<action name="load_nearest_level_hs">
if(%1 == scene_030 OR %1 == scene_031 OR %1 == scene_032 OR %1 == scene_033 ,
	set(nl,scene_026)
	,
	set(nl,%1)
 );
	if(layer[%2].level GT layer[get(scene[get(xml.scene)].level)].level,
tween(view.ty, -300, 1,,set(image.oy,0);set(view.ty,0));
loadscene(get(nl),image.oy=-300,MERGE|KEEPMOVING,BLEND(0.5));
	,
tween(view.ty, 300, 1,,set(image.oy,0);set(view.ty,0));
loadscene(get(nl),image.oy=300,MERGE|KEEPMOVING,BLEND(0.5));
	);
	</action>

//FLOOR DIRECTION

<style name="floor_direction" type="text" width="200" height="200" bgroundedge="105" scale="0.2" bgborder="10 0xffffff 1" bgalpha="0" distorted="true" onover="tween(hotspot[get(hs)].alpha,1);" onout="tween(hotspot[get(hs)].alpha,0)" onclick="load3d"
	   onloaded="build_floor_direction_hs" isvrnav="true" depth="off"/>

<action name="build_floor_direction_hs" scope="local">
addhotspot(auto,fa);
calc(fa.ath,caller.ath);
calc(fa.atv,caller.atv);
calc(fa.linkedscene,caller.linkedscene);
fa.loadstyle(floor_direction_arrow);
if(caller.down,set(fa.rotate,180));
addhotspot(auto,fl);
calc(fl.ath,caller.ath);
calc(fl.atv,caller.atv);
calc(fl.linkedscene,caller.linkedscene);
set(hlevel,get(scene[get(caller.linkedscene)].level));
copy(fl.html,layer[get(hlevel)].html);
calc(caller.hs,fl.name);
fl.loadstyle(floor_direction_level);
if(contains(caller.linkedscene,'3d'),set(caller.bgborder,10 0xf15400 1););
</action>

<style name="floor_direction_arrow" url="floor_direction.png" scale="0.15" oy="25" rx="60" distorted="true" alpha="0" enabled="false" onloaded="animate_level_arrow" zoom="false" isvrnav="true" depth="off"/>
<action name="animate_level_arrow" scope="local">
tween(caller.oy|caller.alpha|caller.scale|caller.rx,0|1|0.22|0,1.5,easeoutquad,
	tween(caller.oy|caller.alpha|caller.scale|caller.rx,-25|0|0.05|-60,1.5,easeinquad,
		set(caller.oy,25);set(caller.alpha,0);set(caller.rx,60);if(caller.loaded,callwith(caller,onloaded));
	);
);
</action>

<style name="floor_direction_level" type="text" width="200" height="200" scale="0.2" bgroundedge="100" bgalpha="0.8" bgcolor="0x000000" css="color:#fff;font-size:60px;text-align:center" vcenter="true" distorted="true" alpha="0" enabled="false" isvrnav="true" depth="off"/>

//BACK TO PREVIOUS SCENE

<style name="backtopreviousscene" url="back.png" align="topright" x="120" y="28" xsmall="25" ysmall="73" xbig="120" ybig="28" width="37" height="prop" onclick="loadscene(get(previous_scene),null,MERGE,BLEND(2));delete(previous_scene)" visible="false" onloaded="if(previous_scene,set(visible,true))" onhover="showtext(Previous location)"/>

//SHOP HOTSPOT

<style name="shop" type="text" width="48" height="48" bgroundedge="26" bgborder="4 0xb68250 1" bgcolor="0x000000" bgalpha="0.5" bgshadow="5 5 10 0x000000 0.6" bgshadow.mobile="0 0 10 0x000000 0.6" bgshadow.mobilevr="0 0 10 0x000000 0.6" ispopup="true" depth="off" zorder="5"
	   onloaded="
			txtadd(myicon,'icon_',get(name));
			copy(hotspot[get(name)].myicon,myicon);
			addhotspot(get(myicon));
			hotspot[get(myicon)].loadstyle(shop_icon);
			copy(hotspot[get(myicon)].ath,ath);
			copy(hotspot[get(myicon)].atv,atv);

			txtadd(mytext,'text_',get(name));
			copy(hotspot[get(name)].mytext,mytext);
			addhotspot(get(mytext));
			copy(hotspot[get(mytext)].ath,ath);
			copy(hotspot[get(mytext)].atv,atv);
			copy(hotspot[get(mytext)].html,title);
			hotspot[get(mytext)].loadstyle(shop_text);

			txtadd(mypulse,'pulse_',get(name));
			copy(hotspot[get(name)].mypulse,mypulse);
			addhotspot(get(mypulse));
			copy(hotspot[get(mypulse)].ath,ath);
			copy(hotspot[get(mypulse)].atv,atv);
			calc(hotspot[get(mypulse)].width,width);
			calc(hotspot[get(mypulse)].height,height);
			calc(hotspot[get(mypulse)].bgroundedge,bgroundedge + 3 );
			hotspot[get(mypulse)].loadstyle(shop_pulse);
	   		"
	   onover="
			   set(zorder,10);set(hotspot[get(mypulse)].zorder,9);set(hotspot[get(myicon)].zorder,11);set(hotspot[get(mytext)].zorder,11);
			   set(hotspot[get(mypulse)].visible,false);
			   stoptween(hotspot[get(mytext)].alpha);
			   stoptween(hotspot[get(name)].width);
			   stoptween(hotspot[get(myicon)].ox);
			   stoptween(hotspot[get(myicon)].width);
			   stoptween(hotspot[get(name)].scale);

			   tween(hotspot[get(name)].scale,0.9,0.15,easeoutback);
			   tween(hotspot[get(myicon)].width,25,0.15,easeoutback,
					tween(hotspot[get(myicon)].ox,calc((-(hotspot[get(mytext)].width / 2) + 25) * stagescale),0.3);
			   		tween(hotspot[get(name)].width,get(hotspot[get(mytext)].width),0.3,easeoutback,
			   			tween(hotspot[get(mytext)].alpha,1,0.2);
			   tween(hotspot[get(name)].scale,1,0.15,easeoutback);
			   		);
			   );
			   "
	   onout="
			  stoptween(hotspot[get(name)].scale);
			  stoptween(hotspot[get(myicon)].width);
			  stoptween(hotspot[get(myicon)].ox);
			  stoptween(hotspot[get(name)].width);
			  stoptween(hotspot[get(mytext)].alpha);

			  tween(hotspot[get(mytext)].alpha,0,0.1,,
			  	tween(hotspot[get(name)].width,48,0.2,easeinback);
			 	tween(hotspot[get(myicon)].ox,0,0.2,,
			  		tween(hotspot[get(myicon)].width,35,0.3);
			  		tween(hotspot[get(name)].scale,1,0.3,easeoutback);
			  set(hotspot[get(name)].zorder,5);set(hotspot[get(mypulse)].zorder,4);set(hotspot[get(myicon)].zorder,6);set(hotspot[get(mytext)].zorder,6);
			  set(hotspot[get(mypulse)].visible,true);
			  	);
			  );
			   "

	   onclick="looktohotspot(get(name),get(view.fov),smooth(50,50,100));if(webvr.isenabled,popupvr(get(name)),popup(get(name)));"
/>


<style name="shop_icon" enabled="false" width="35" height="prop" ispopup="true" depth="off" zorder="6" url="infos.png" mipmapping="true" oversampling="2"/>
<style name="shop_text" type="text" alpha="0" padding="0 15 0 50" bg="false" enabled="false"  css="color:#fff;font-size:20px;font-family: Lato;font-weight:400" ispopup="true" depth="off" zorder="6" mipmapping="true" oversampling="2"/>

<style name="shop_pulse" accuracy="0" enabled="false" bgalpha="0" alpha="0.8" zorder="4" mipmapping="true" oversampling="2"/>
	   type="text"
	   bgborder="6 0xffffff 1"
	   onloaded="pulse"
	   ispopup="true"
	   depth="off"
	   />

<action name="pulse" scope="local">
tween(caller.scale|caller.alpha,1.6|0.0,2,,set(caller.scale,1);set(caller.alpha,0.8);if(caller.loaded,callwith(caller,onloaded)));
</action>



//AIR HOTSPOTS


	<events name="update_air_hotspots" keep="true"
		onviewchange="
			for(set(i,0), i LT hotspot.count, inc(i),
				copy(hs,hotspot[get(i)]);
				if (hs.style == 'googlestyle' ,
					set(hs.ath,calc(view.hlookat));
					set(hs.atv,get(view.vlookat));
					calc(hs.rx, - view.vlookat - 90);
					calc(hs.rz, - view.hlookat + hs.hdir);
				);
			);
			"  />


	<style name="googlestyle" type="container" width="0" height="150" bg="true" bgcolor="0xffffff" bgalpha="0.5" distorted="true" inverserotation="true" edge="top"
	onloaded="txtadd(ghs,get(name),'_graphic');
	addlayer(get(ghs));
	txtadd(layer[get(ghs)].parent,'hotspot[',get(name),']');
	if(contains(linkedscene,'3d'),layer[get(ghs)].loadstyle(googlestyle_graphic_red),layer[get(ghs)].loadstyle(googlestyle_graphic));"
	onclick="googlenav"/>

	<style name="googlestyle_graphic" url="googlehs.png" align="bottom" edge="top" scale="0.5" alpha="0.5" onover="tween(scale|alpha,0.6|1)" onout="tween(scale|alpha,0.5)" onclick="callwith(get(parent),onclick())"/>
	<style name="googlestyle_graphic_red" url="googlehs_red.png" align="bottom" edge="top" scale="0.5" alpha="0.5" onover="tween(scale|alpha,0.6|1)" onout="tween(scale|alpha,0.5)" onclick="callwith(get(parent),onclick())"/>

		<action name="googlenav" scope="local">
		if(caller.linkedscene,
			lookto(get(caller.hdir),0,get(view.fov),smooth(50,50,100));
			loadscene(get(caller.linkedscene),
				view.fov=150&amp;view.fovmax=150,
				MERGE|KEEPLOOKAT,
				ZOOMBLEND(1.5, calc:(caller.distance / 10)+2, easeInOutSine),
				tween(view.fov,120,2.5,,set(view.fovmax,120););
				set(hotspot[floorspot].active,true);
				callwith(hotspot[floorspot],onloaded);
			);
		);
	</action>

// CARDINAL HOTSPOTS

		<style name="north_hs" url="North.png" atv="-3" enabled="false" ath="0"/>
		<style name="east_hs" url="East.png" atv="-3" enabled="false" ath="90"/>
		<style name="south_hs" url="South.png" atv="-3" enabled="false" ath="180"/>
		<style name="west_hs" url="West.png" atv="-3" enabled="false" ath="270"/>

//COMPASS

<events name="compass_event" onmousewheel="callwith(layer[compass],onover)" onmousedown="callwith(layer[compass],onover)" onidle="callwith(layer[compass],onout)" onxmlcomplete="copy(layer[compass_radar].headingoffset,north)" onnewscene="copy(layer[compass_radar].heading,scene[get(xml.scene)].heading)" keep="true"/>
<layer name="compass"
         url="compass_bg.png"
         keep="true"
         onover="tween(alpha, 1, 0.3);"
         onout="tween(alpha, 0.5,0.8);"
         align="topright"
         x="20"
         y="20"
         width="50"
         height="prop"
		 handcursor="false"
		  if="ui"
         >

    <layer name="compass_radar"
         url="%SWFPATH%/plugins/radar.js"
         align="center"
         enabled="false"
         headingoffset="0.0"
         fillcolor="0xb68250"
         fillalpha="1"
         width="55%"
         height="prop"
         zorder="2"
         />


	<layer name="compass_center"
        type="container"
	   	bgcolor="0xffffff"
	   	bgalpha="1"
        width="8"
        enabled="false"
        align="center"
        zorder="3"
        height="8"
	    bgroundedge="4"
       />
</layer>

//SHARE VIEW

<events name="share_button_events" onxmlcomplete="hide_share_for_single_pano()" keep="true"/>

<layer name="share_view" url="share.png" keep="true" align="topright" width="37" height="prop" x="165" y="28" xsmall="25" ysmall="116" xbig="165" ybig="28" onclick="share_actual_view()" onhover="showtext(Share the link)"  if="ui"/>

<action name="hide_share_for_single_pano">
if(scene.count == 1,set(layer[share_view].visible,false));
</action>

<action name="share_actual_view">
copy_to_clipboard(get(share_url));
show_share_set();
</action>

<action name="show_share_set">
tween(layer[flash_view].bgalpha,1,0.1,,
tween(layer[flash_view].bgalpha,0,0.3,,
tween(layer[shareset].alpha,1,,,
delayedcall(3,tween(layer[shareset].alpha,0))
)
));
</action>

<layer name="shareset" type="text" html="The link to the current view[br]was copied to the clipboard" align.normal="topright" x.normal="20" y.normal="90" align.mobile="center" x.mobile="0" y.mobile="0" css="color:#fff;font-size:18px;font-family: Lato;font-weight:400;text-align:center" backgroundcolor="0x000000" backgroundalpha="0.8" roundedge="8" padding="6 12" keep="true" alpha="0" autoalpha="true"/>

<layer name="flash_view" type="container" width="100%" height="100%" zorder="1000" bg="true" bgcolor="0xffffff" bgalpha="0" enabled="false" capture="false" keep="true"/>

<events name="initial_view" onloadcomplete="if(h_view , lookto(get(h_view),get(v_view),get(f_view),smooth(100,50,30),true,true,delete(h_view,v_view,f_view)))" keep="true"/>

//HELICOPTER

<layer name="helicopter_button" url="helicopter.png" align="topright" x="120" y="28" xsmall="25" ysmall="71" xbig="120" ybig="28" width="37" height="prop" keep="true" onhover="showtext(Location overview)" onclick="copy(previous_scene,scene[get(xml.scene)].name);loadscene(get(aerial_scene),null,MERGE,BLEND(2))"  if="ui"/>

//POPUP DESKTOP

<events name="resizedoc" onresize="calc(layer[my_html_stuff].maxheight,(stageheight * 95)/100)" keep="true" devices="desktop|tablet" onmousedown="if(popupon,hide_html_div())" onnewscene="if(popupon AND webvr.isenabled,closepopup())"/>

<layer name="my_html_stuff" type="container" align="center" width="95%" height="0" maxwidth="660" devices="desktop|tablet" bgshadow="5 5 10 0x000000 0.6"
        bgcapture="true" capture="true" handcursor="false" bg="true" bgcolor="0x000000" bgalpha="0.8" keep="true" bgroundedge="0"
        onloaded="add_div();" zorder="101" alpha="0" y="30" autoalpha="true" maskchildren="true"
        >
<layer name="closecontent" url="close.png"	align="topright" x="5" y="5" onclick="hide_html_div()" keep="true"/>
</layer>

<layer name="my_html_stuff" type="container" align="topleft" width="100%" height="100%" y="100%" devices="mobile"
        bgcapture="true" capture="true" handcursor="false" bg="true" bgcolor="0x000000" bgalpha="0.8" keep="true"
        onloaded="add_div();" zorder="101" onclick="hide_html_div()"
        >
<layer name="closecontent" url="close.png"	align="topright" x="20" y="20" onclick="hide_html_div()" keep="true"/>
</layer>

<action name="add_div" type="Javascript"  protect="true"><![CDATA[
var divcontent = document.createElement("div");
divcontent.id  = "divcontent";
var scroller = document.createElement("div");
scroller.id  = "scroller";
divcontent.appendChild(scroller);
var inner_scroller = document.createElement("div");
inner_scroller.id  = "inner_scroller";
scroller.appendChild(inner_scroller);
scroller.addEventListener("mousewheel", function(event){ event.stopPropagation(); }, true);
scroller.addEventListener("DOMMouseScroll", function(event){ event.stopPropagation(); }, true);
scroller.addEventListener("touchstart", function(event){ if(krpano.device.ios && window.innerHeight == krpano.display.htmltarget.offsetHeight){ /* avoid the iOS 'overscrolling' for fullpage viewers */ var bs = document.body.parentNode.style; bs.position="fixed"; bs.top=0; bs.left=0; bs.right=0; bs.bottom=0; } krpano.control.preventTouchEvents = false; event.stopPropagation(); }, true);
scroller.addEventListener("touchend", function(event){ krpano.control.preventTouchEvents = true; event.stopPropagation(); }, true);
scroller.addEventListener("gesturestart", function(event){ event.preventDefault(); }, true);

caller.sprite.appendChild(divcontent);
]]></action>



<action name="resize_html_div" devices="desktop|tablet" type="Javascript"  protect="true"><![CDATA[
setTimeout(function(){actions.tween("layer[my_html_stuff].height",document.getElementById("inner_scroller").offsetHeight);},50);
setTimeout(function(){if(!krpano.device.ios){$("#scroller").getNiceScroll().resize();};},500);
]]></action>

<action name="resize_html_div" devices="mobile" type="Javascript"  protect="true"><![CDATA[
setTimeout(function(){if(!krpano.device.ios){$("#scroller").getNiceScroll().resize();};},500);
]]></action>

<action name="show_html_div" devices="desktop|tablet" protect="true">
hide_ui();
tween(plugin[pp_blur].range, 40.0);
tween(layer[my_html_stuff].y|layer[my_html_stuff].alpha,0|1,0.5,easeOutExpo,
resize_html_div(););
set(popupon,true);
</action>

<action name="hide_html_div" devices="desktop|tablet" protect="true">
show_ui();
tween(layer[my_html_stuff].y|layer[my_html_stuff].alpha,30|0,0.5,easeOutExpo,
tween(plugin[pp_blur].range, 0.0);
set(layer[my_html_stuff].height,0));
kill_html_content();
delayedcall(0.2,set(popupon,false));
</action>

<action name="kill_html_content" type="Javascript" protect="true"><![CDATA[
$( "#inner_scroller" ).empty();
]]></action>

<action name="show_html_div" devices="mobile+!mobilevr" protect="true">
tween(layer[my_html_stuff].y,0%,1,easeOutExpo);
</action>

<action name="hide_html_div" devices="mobile+!mobilevr" protect="true">
tween(layer[my_html_stuff].y,100%,1,easeOutExpo);
kill_html_content();
</action>


//BLUR

	<plugin name="pp_blur" keep="true"
		url="%SWFPATH%/plugins/pp_blur.js"
		enabled="true"
		range="0.0"
		linearrgb="false"
		order="1"
		phase="2"
		/>

//WEB FONT

	<action name="check_for_web_fonts_loading" autorun="preinit" type="Javascript" devices="html5"><![CDATA[
    function new_fonts_loaded()
    {
        var layers = krpano.get("layer").getArray();
        var hotspots = krpano.get("hotspot").getArray();

        var i;

        for (i=0; i < layers.length; i++)
        {
            if (layers[i]._istextfield)
            {
                // force an update by changing the vcenter setting two times
                layers[i].vcenter = !layers[i].vcenter;
                layers[i].vcenter = !layers[i].vcenter;
            }
        }

        for (i=0; i < hotspots.length; i++)
        {
            if (hotspots[i]._istextfield)
            {
                // force an update by changing the vcenter setting two times
                hotspots[i].vcenter = !hotspots[i].vcenter;
                hotspots[i].vcenter = !hotspots[i].vcenter;
            }
        }
    }

    if (document.fonts)
    {
        document.fonts.addEventListener("loadingdone", new_fonts_loaded, true);
    }
]]></action>

<include url="jerome_editor.xml" if="ediths"/>

</krpano>
