<krpano>
<events name="thumbs_events" keep="true" onxmlcomplete="" onnewscene="init_thumbs();calc_group_scene_count();"></events>

<action name="onpreload" autorun="preinit">
set(global.thumbs_group,'all');init_thumbs();calc_group_scene_count();
</action>

<action name="init_thumbs">
<!-- set(global.thumbs_group,'all'); -->
if ( global.thumbs_group=='all', ,
	copy(global.thumbs_group,scene[get(xml.scene)].groupname);
	);
<!-- trace(get(global.thumbs_group)); -->
</action>
<action name="group_scenecount">
set(_scenecount,0);

for(set(i,0), i LT scene.count, inc(i),
	if (('all' == %1 || scene[get(i)].groupname == %1) AND scene[get(i)].thumbvisible != 'false',
	<!-- js(alert(get(scene[get(i)].thumbvisible))); -->
	inc(_scenecount););
);
<!-- 赋值操作 -->
parentscopeset(_scenecount, get(_scenecount));
</action>
<action name="calc_group_scene_count">
<!-- trace(get(global.thumbs_group)); -->
if (global.thumbs_group===null || global.thumbs_group=='' || global.thumbs_group=='all', 
  group_scenecount('all');,
  <!-- 计算该分组下的场景数量 -->
	group_scenecount(get(global.thumbs_group));
);
copy(global.thumbs_count,_scenecount);
<!-- trace(get(global.thumbs_group),':',get(global.thumbs_count),'-',get(xml.scene)); -->
<!-- trace(get(global.lastgroup)); -->

<!-- global.thumbs_group存储的是分组标签的name值，可能是一级或二级分组 -->
if (global.lastgroup === global.thumbs_group,,
  <!-- 加载拇指皮肤, 就是该分组下的场景 -->
	skin_addthumbs();
  <!-- 监听条件变化，并执行操作 -->
	callwhen(global.group_container!==null,
		<!-- trace('group_container:',get(group_container)); -->
    
    <!-- global.group_container 父级分组标签layer的name -->
		calc(_active_name, global.group_container + '_' + global.thumbs_group);
    <!-- trace(get(_active_name)); -->
    
		<!-- set_thumbs_active(get(global.group_container),get(_active_name)); -->
	);
);
copy(global.lastgroup,global.thumbs_group);
</action>
<action name="set_thumbs_active">
trace('调用了方法');
for(set(i,0), i LT group.count, inc(i),
	txtadd(item_name,%1,'_',get(group[get(i)].name));

	if (group[get(i)].visible,
		if (item_name == %2 || (group[get(i)].base == 'true' AND global.thumbs_group=='all'),
			txtadd(_style,%1,'_istyledown');
			assignstyle(layer[get(item_name)], get(_style));
			<!-- txtadd(_onhover,"assignstyle(layer[",%2,"],'",%1,"_istylehover');"); -->
			txtadd(_ondown,"assignstyle(layer[",%2,"],'",%1,"_istyledown');");
			copy(_onhover,_ondown);
			copy(_onout,_ondown);
			,
			<!-- if (global.lastgroup == group[get(i)].name || (group[get(i)].base == 'true' AND global.lastgroup=='all'), -->
			txtadd(_style,%1,'_istyle');
			assignstyle(layer[get(item_name)], get(_style));
			txtadd(_onhover,"assignstyle(layer[",get(item_name),"],'",%1,"_istylehover');");
			txtadd(_ondown,"assignstyle(layer[",get(item_name),"],'",%1,"_istyledown');");
			txtadd(_onout,"assignstyle(layer[",get(item_name),"],'",%1,"_istyle');");
			<!-- ); -->
			);
		copy(layer[get(item_name)].onover,_onhover);
		copy(layer[get(item_name)].onhover,_onhover);
		copy(layer[get(item_name)].ondown,_ondown);
		copy(layer[get(item_name)].onout,_onout);
		copy(layer[get(item_name)].onup,_onout);
		);
	);
</action>
<action name="set_thumbs_bygroupid">
<!-- trace(%1); -->
copy(global.thumbs_group,group[%1].name);
calc_group_scene_count();
<!-- trace(get(global.thumbs_group)); -->
</action>
<action name="set_thumbs_bygroupname">
<!-- trace(%1); -->
<!-- %1为二级分组标签layer的name -->
set(global.thumbs_group,%1);
calc_group_scene_count();
<!-- trace(get(global.thumbs_group)); -->
</action>

<action name="set_thumbs_bymapname">
<!-- trace('name:',get(name)); -->
if (global.lastmap != %1 ,call_map_showhide(%1);
	active_thumbs_bymapname(%1);
	set(global.lastmap,%1);
	);
</action>
<action name="active_thumbs_bymapname">
callwhen(layer[get(global.map_container)].loaded ,
	for(set(i,0), i LT map.count, inc(i),
		copy(map_name,map[get(i)].name);
		<!-- trace(get(item_name)); -->
		calc(item_name,global.map_container+'_'+map[get(i)].name);

		if (map_name == %1,
			calc(_style,global.map_container+'_istyledown');
			,	
			calc(_style,global.map_container+'_istyle');
			);

		if (map_name == %1,
			calc(_style,global.map_container+'_istyledown');
			assignstyle(layer[get(item_name)], get(_style));
			txtadd(_ondown,"assignstyle(layer[",get(item_name),"],'",get(global.map_container),"_istyledown');");
			copy(_onhover,_ondown);
			copy(_onout,_ondown);
			,
			calc(_style,global.map_container+'_istyle');
			assignstyle(layer[get(item_name)], get(_style));
			txtadd(_onhover,"assignstyle(layer[",get(item_name),"],'",get(global.map_container),"_istylehover');");
			txtadd(_ondown,"assignstyle(layer[",get(item_name),"],'",get(global.map_container),"_istyledown');");
			txtadd(_onout,"assignstyle(layer[",get(item_name),"],'",get(global.map_container),"_istyle');");
			);
		copy(layer[get(item_name)].onover,_onhover);
		copy(layer[get(item_name)].onhover,_onhover);
		copy(layer[get(item_name)].ondown,_ondown);
		copy(layer[get(item_name)].onout,_onout);
		copy(layer[get(item_name)].onup,_onout);
		<!-- trace(get(item_name),'-',get(_style)); -->
		);
	);
</action>


<!-- 沙盘选项按钮 -->
<action name="do_container_tourmaplist_button">
<!-- trace(get(title)); -->
<!-- trace(get(group.count)); -->
copy(global.map_container,name);
<!-- trace(get(global.map_container)); -->
callwhen(loaded,
	set(_i,0);
	for(set(i,0), i LT map.count, inc(i),
		calc(item_name,name+'_'+map[get(i)].name);
		<!-- trace(get(item_name)); -->
		if (map[get(i)].visible,
			addlayer(get(item_name));

			copyattributes(get(layer[get(item_name)]),get(map[get(i)]));

			set(layer[get(item_name)].function,'selectmap');
			<!-- copy(layer[get(item_name)].html,map[get(i)].title); -->

			if (layer[get(item_name)].base,set(layer[get(item_name)].mapname, 'all');,copy(layer[get(item_name)].mapname,map[get(i)].name););

			do_container_button_item(get(name),get(item_name) , get(_i) , get(map[get(i)].name));
			<!-- trace('i:',get(_i)); -->
			inc(_i);
			);
		);
	);
</action>
<!-- 缩略图分组按钮改造前 -->
<action name="do_container_group_button">
  <!-- showlog(); -->
  trace('点击了子分组');
  trace(get(function));
  copy(global.group_container,name);
  callwhen(loaded,
    set(_i,0);
    for(set(i,0), i LT group.count, inc(i),
      calc(item_name,name+'_'+group[get(i)].name);
      if (group[get(i)].visible,
        addlayer(get(item_name));

        copyattributes(get(layer[get(item_name)]),get(group[get(i)]));

        set(layer[get(item_name)].function,'selectgroup');

        if (layer[get(item_name)].base,set(layer[get(item_name)].groupname, 'all');,copy(layer[get(item_name)].groupname,group[get(i)].name););

        do_container_button_item(get(name),get(item_name) , get(_i) , get(group[get(i)].name));
        inc(_i);
        );
      );
    );
</action>



<!-- 缩略图分组按钮 -->
<action name="do_container_group_button_fa">
<!-- trace(get(title)); -->
<!-- showlog(); -->
<!-- trace(get(function)); -->
<!-- trace(get(group.count)); -->

<!-- 如果点击了父级的父级，就显示父级 -->

<!-- set(layer[get(scrollname)].visible, false); -->
<!-- 此name就是被点击layer的name -->
<!-- trace(点击了父级); -->
<!-- trace(get(scrollname)); -->
if(scrollname === null, 
  copy(scrollname, name), 
  <!-- trace('显示父级layer');
  trace(get(scrollname)); -->
  <!-- 拼接字符串 -->
  calc(bgscrollname, 'bg_' + scrollname);
  set(layer[get(bgscrollname)].visible, true);
  set(layer[get(scrollname)].visible, true);
  <!-- delayedcall(0.45, set(layer[get(scrollname)].visible, false);) -->
  <!-- removelayer(get(scrollname));
  addlayer(get(scrollname));     -->
  <!-- addlayer(get(scrollname)); -->

);
<!-- trace(%1); -->
<!-- 不能给%1设置值，用set() -->
if(%1 != null,
 set(params, %1);,   
 <!-- set(params, 'group_all_father'); -->
 );
  
<!-- trace('scrollname:',get(scrollname)); -->
<!--%1不用加get获取-->
<!-- trace(%1);   -->
copy(global.group_container,name);
<!-- js(alert(get(name))); -->
<!-- trace(get(global.group_container)); -->
callwhen(loaded,                           <!-- loaded (只读) 是否加载完成  layer[name].loaded-->
	set(_i,0);
  <!--LT 小于  inc(i)增加1-->
	for(set(i,0), i LT group.count, inc(i),
		calc(item_name,scrollname+'_'+group[get(i)].name);
    <!-- js(alert(get(item_name))); -->
    <!-- showlog(); -->
		<!-- trace(get(item_name)); -->
		<!-- trace(get(name)); -->
		if (group[get(i)].visible AND !group[get(i)].isfa AND group[get(i)].fathername == params,
      <!-- trace('开始加载二级标题');   -->
      <!--注意加标点符号-->
      <!--添加分组名称标签，循环添加共3个-->
      <!-- trace(get(item_name)); -->
      <!-- removelayer(get(scrollname)); -->
			addlayer(get(item_name));
			copyattributes(get(layer[get(item_name)]),get(group[get(i)]));
			set(layer[get(item_name)].function,'selectgroup');
			<!-- copy(layer[get(item_name)].html,group[get(i)].title); -->
      <!-- trace(get(layer[get(item_name)].base)); -->
			if (layer[get(item_name)].base,
        set(layer[get(item_name)].groupname, 'all');,      <!--如果他没有这个属性， 就自动创建一个自定义属性-->
        copy(layer[get(item_name)].groupname,group[get(i)].name);
      );
			do_container_button_item(get(scrollname),get(item_name) , get(_i) , get(group[get(i)].name));
			<!-- trace('i:',get(_i)); -->
			inc(_i);,
      <!-- trace(get(item_name)); -->
      removelayer(get(item_name));
		);
	);
  <!-- trace(输出first_secnename的值:);
  trace(get(first_secnename)); -->
  <!-- 切换分组后自动跳转第一个场景 -->
  <!-- loadscene(
    get(first_secnename)
  );  -->
);
</action>
<!-- 缩略图父级分组按钮 -->
<action name="do_container_group_button_father">
<!-- trace(get(name)); -->
<!-- copy(global.group_container,name); -->
callwhen(loaded,
	set(_i,0);
  <!--LT 小于  inc(i)增加1-->
	for(set(i,0), i LT group.count, inc(i),
		calc(item_name_fa,name+'_'+group[get(i)].name);
    <!-- js(alert(get(item_name))); -->
    <!-- showlog(); -->
		<!-- trace(get(item_name)); -->
		<!-- trace(get(name)); -->
		if (group[get(i)].visible AND group[get(i)].isfa,
      <!--添加分组名称标签，循环添加共3个-->
			addlayer(get(item_name_fa));
			copyattributes(get(layer[get(item_name_fa)]),get(group[get(i)]));
			set(layer[get(item_name_fa)].function,'selectgroupfather');
			<!-- copy(layer[get(item_name)].html,group[get(i)].title); -->
      <!-- trace(get(layer[get(item_name)].base)); -->
			if (layer[get(item_name_fa)].base,
        set(layer[get(item_name_fa)].groupname, 'all');,      <!--如果他没有这个属性， 就自动创建一个自定义属性-->
        copy(layer[get(item_name_fa)].groupname,group[get(i)].name);
      );
			do_container_button_item(get(name),get(item_name_fa) , get(_i) , get(group[get(i)].name));
			<!-- trace('i:',get(_i)); -->
			inc(_i);
		);
	);
);
</action>

<!-- 并排按钮 -->
<action name="do_container_button">
<!-- trace(get(title)); -->
callwhen(loaded,
	for(set(i,0), i LT item.count, inc(i),
		copy(item_name,item[get(i)].name);
		<!-- trace(get(item_name)); -->

		addlayer(get(item_name));
		copyattributes(get(layer[get(item_name)]),get(item[get(i)]));

		do_container_button_item(get(name),get(item_name) , get(i));
		);
	);
</action>
<!--
"inner_direction": true,  // 滚动容器内部元素的排列方式  横向还是纵向
"inner_width": 150,      // 容器内元素的宽度
"inner_height": 35,      // 容器内元素的高度
"inner_margin": 8,       // 容器内元素的间距
"inner_alpha": 1,        // 容器内元素的透明度
"item_type": "text",     // 分组样式
-->
<action name="do_container_button_item">
<!-- copy(_np,layer[%2].parent); -->
<!-- trace(get(%1)); -->
<!-- trace(get(layer[%1].inner_direction)); -->
if (layer[%1].inner_direction == "false", 
  set(positon,calc(layer[%1].inner_margin+layer[%1].inner_height/2)); , 
  set(positon,calc(layer[%1].inner_margin+layer[%1].inner_width/2)));
<!--layer[%2]这个是前一步添加的新图层-->
copy(layer[%2].type,layer[%1].item_type);

txtadd(_style,%1,'_istyle');
<!-- trace(get(_style)); -->
if (layer[%1].item_type == 'text',
	assignstyle(layer[%2], get(_style));
	txtadd(_onhover,"do_layer_onover();","assignstyle(layer[",%2,"],'",%1,"_istylehover');");
	txtadd(_ondown,"do_layer_ondown();","assignstyle(layer[",%2,"],'",%1,"_istyledown');");
	txtadd(_onout,"do_layer_onout();","assignstyle(layer[",%2,"],'",%1,"_istyle');");
	txtadd(_onup,"do_layer_onup();","assignstyle(layer[",%2,"],'",%1,"_istyle');");
	,
	<!-- assignstyle(layer[%2], ''); -->
	set(_onhover,'do_layer_onhover();');
	set(_ondown,'do_layer_ondown();');
	set(_onout,'do_layer_onout();');
	set(_onup,'do_layer_onup();');
	);
copy(layer[%2].onover,_onhover);    <!--鼠标移动事件-->
copy(layer[%2].onhover,_onhover);   <!--鼠标悬停事件-->
copy(layer[%2].ondown,_ondown);     <!--鼠标按下事件-->
copy(layer[%2].onout,_onout);       <!--鼠标移出事件-->
copy(layer[%2].onup,_onup);         <!--鼠标按钮释放事件-->

set(layer[%2].onclick,'do_layer_onclick();');
set(layer[%2].onloaded,'do_layer_onloaded();');
set(layer[%2].itype, 'item');
copy(layer[%2].keep,true);
copy(layer[%2].handcursor,true);
copy(layer[%2].html, layer[%2].title);


if (layer[%2].width !=layer[%1].inner_width || layer[%2].height !=layer[%1].inner_height,
	copy(layer[%2].width, layer[%1].inner_width);
	copy(layer[%2].height, layer[%1].inner_height);
	);

if (layer[%2].frametf != 'true' AND layer[%2].type != 'text',
	copy(layer[%2].crop, layer[%1].inner_crop);
	copy(layer[%2].onovercrop, layer[%1].inner_onovercrop);
	copy(layer[%2].ondowncrop, layer[%1].inner_ondowncrop);

	);

if (layer[%1].item_type == 'imagetext',
	copy(layer[%2].ox,layer[%1].inner_ox);
	copy(layer[%2].oy,layer[%1].inner_oy);
	);
if (layer[%1].inner_direction == "false",
	set(layer[%2].align,'top');
	set(layer[%2].edge,'center');
	set(layer[%2].x,0);
	calc(layer[%2].y,positon+(layer[%1].inner_height+layer[%1].inner_margin)*%3);
	,
	set(layer[%2].align,'left');
	set(layer[%2].edge,'center');
	calc(layer[%2].x, positon+(layer[%1].inner_width+layer[%1].inner_margin)*%3);
	set(layer[%2].y,0);
	);
callwhen(layer[%1],
	set(layer[%2].parent, %1););


tween(layer[%2].alpha,get(layer[%1].inner_alpha),1);
if (layer[%1].item_type == 'imagetext',
	add_layer_tooltip(%1,%2);
	);
</action>

<action name="do_delete_container_all_item">
<!-- 删除容器下所有子项目 -->
<!-- trace('name:',%1,' item:',%2); -->
for(set(i,0), i LT layer.count, inc(i),
	copy(l_name,layer[get(i)].name);
	if (layer[get(l_name)].parent == %1 AND layer[get(l_name)].itype == %2, removelayer(get(l_name));dec(i);txtadd(_tooltip,'tooltip_',get(l_name));removelayer(get(_tooltip));dec(i););
	);
</action>

<style name="layer_default_tooltip"
type="type"
url="%CURRENTXML%/plugins/textfield.swf"
alpha="0"
enabled="true"
keep="true"
/>
<action name="add_layer_tooltip">
txtadd(tooltipname, 'tooltip_', %2);
txtadd(hname,'','%2');
<!-- trace(get(layer[get(hname)].title)); -->
addplugin(get(tooltipname));
txtadd(layer[get(tooltipname)].parent,   'layer[', get(hname) , ']' );
<!-- if (layer[get(hname)].tooltipalign, txtsplit(layer[get(hname)].tooltipalign,'|',align,edge);copy(layer[get(tooltipname)].edge,edge);copy(plugin[get(tooltipname)].align,align); , set(plugin[get(tooltipname)].edge,'top');set(plugin[get(tooltipname)].align,'bottom');); -->
set(layer[get(tooltipname)].html,get(layer[%2].title));
txtadd(_onc,'callwith(layer[',%2,'],onclick);');
copy(layer[get(tooltipname)].onclick,_onc);

txtadd(_style,%1,'_istyle|layer_default_tooltip');
assignstyle(layer[get(tooltipname)], get(_style));
txtadd(_onhover,"assignstyle(layer[",get(tooltipname),"],'",%1,"_istylehover');");
txtadd(_ondown,"assignstyle(layer[",get(tooltipname),"],'",%1,"_istyledown');");
txtadd(_onout,"assignstyle(layer[",get(tooltipname),"],'",%1,"_istyle');");
copy(layer[get(tooltipname)].onover,_onhover);
copy(layer[get(tooltipname)].onhover,_onhover);
copy(layer[get(tooltipname)].ondown,_ondown);
copy(layer[get(tooltipname)].onout,_onout);
copy(layer[get(tooltipname)].onup,_onout);
tween(layer[get(tooltipname)].alpha,1,1);
</action>
</krpano>
