// 添加 switch_bar
var attach_switch_bar = function (){

	$("#page_content").css('position', 'relative');
	
	/*
	var str = '';
		$("#page_content > .widget-place").each(function(){
			//if($(this).is(":visible"))
				str += $(this).attr('id') + "\n";
		});
		alert(str);
	*/

	var leftObj = $(".page_left:visible:first");
	
	// 调整左栏的高度
	var leftOuterHeight = leftObj.outerHeight(true);

	var mainOuterHeight = 0;
	$(".page_main:visible").each(function(){
		mainOuterHeight += $(this).outerHeight(true);
	});

	if(leftOuterHeight < mainOuterHeight)
	{
		leftOuterHeight = mainOuterHeight;
		leftObj.height(mainOuterHeight);
	};

	// 控制栏的左偏移
	var panel_ctrl_left = leftObj.position().left + leftObj.width();

	$('<div class="switch_bar" id="switch_bar" />').css({
		'left' : panel_ctrl_left + 'px',
		'top' : leftObj.position().top + 'px',
		'height' : leftOuterHeight + 'px'
	}).appendTo("#page_content");

	show_switch_bar();
};

// 显示 switch_bar
var show_switch_bar = function (){
	var switchBar = $("#switch_bar");

	if(!switchBar.html())
	{
		var switchBarA = $('<a class="fold" href="javascript: void(0)" />').attr('title' , Utils.strJF('点此展开/折叠侧栏')).css({
			'display' : 'block'
		}).mouseover(function(){
			$(this).parent().addClass('on');
		}).mouseout(function(){
			$(this).parent().removeClass('on');
		}).click(function(){
			switch_left_panel();
		}).hide();

		switchBarA.appendTo(switchBar);
	}
	else
	{
		var switchBarA = $('#switch_bar > a');	
	};
		
	var switchBarOffset = switchBar.offset();
	var switchBarHeight = switchBar.outerHeight(true);
	
	var switchBarTop = switchBarOffset.top;
	var switchBarBottom = switchBarTop + switchBarHeight;

	var windowScrollTop = $(window).scrollTop();
	var windowHeight = $(window).height();

	var aHeight = 0;		// 切换栏的高度
	var aTopMargin = 0;		// 切换栏的顶部间距
	var inBottom = false;	// 是否在底部？

	// 超出范围了，不显示
	if(switchBarTop - windowScrollTop > windowHeight || switchBarBottom < windowScrollTop )
		switchBarA.hide();

	// 上面有空，a 的上方边距为 0
	// 上面没空，计算上方边距
	if( switchBarTop > windowScrollTop )
		aTopMargin = 0;
	else
		aTopMargin = parseInt(windowScrollTop - switchBarTop);

	// 整个屏幕范围，否则是 switch_bar 的底部减 windowScrollTop
	if(windowScrollTop + windowHeight < switchBarBottom)
	{
		if(aTopMargin == 0)
			aHeight = windowHeight - (switchBarTop - windowScrollTop);
		else
			aHeight = windowHeight;
	}
	else
	{
		aHeight = switchBarBottom - windowScrollTop;
		inBottom = true;
	}

	if(aHeight < 120)
	{
		if(inBottom)
		{
			aTopMargin -= 100 - aHeight;
			if(aTopMargin < 0)
				aTopMargin = 0;
		};

		aHeight = 120;
	};

	aHeight -= 2;	// 扣除边框

	switchBarA.css({
		'margin-top' : aTopMargin + 'px', 
		'height' : aHeight + 'px'
	}).show(); 
};

// switch_bar 变化操作
var switch_left_panel = function (){
	var switchBar = $("#switch_bar");
	var switchBarA = $('#switch_bar > a');	

	// 物品概要所在区域
	var summaryLib = $("#lib_goods_summary");
	var summaryPlace = summaryLib.parent('div');

	// 店铺详情所在区域
	var descLib = $("#lib_goods_desc");
	var descPlace = descLib.parent('div');

	// 左栏是显示的
	if(switchBarA.hasClass('fold'))
	{
		// 左栏区域
		var leftPlace = summaryPlace.prev();
	}
	else
	{
		// 左栏区域
		var leftPlace = summaryPlace.next();
	};

	// 左栏是显示的
	if(switchBarA.hasClass('fold'))
	{
		var newSwitchLeft = leftPlace.position().left;

		switchBar.css('left', newSwitchLeft + 'px');
		switchBarA.removeClass('fold').addClass('expand');

		leftPlace.find('.lib_box').each(function(){
			if($(this).attr('id') != 'lib_shop_info')
				$(this).hide();
		});

		leftPlace.height(summaryPlace.innerHeight());
		summaryPlace.insertBefore(leftPlace);

		$("#page_content").addClass('switch_on');
	}
	else
	{
		leftPlace.find('.lib_box').each(function(){
			$(this).show();
		});

		leftPlace.height(switchBar.innerHeight());;
		summaryPlace.insertAfter(leftPlace);

		$("#page_content").removeClass('switch_on');

		var newSwitchLeft = summaryPlace.prev().position().left + summaryPlace.prev().width();

		switchBar.css('left', newSwitchLeft + 'px');
		switchBarA.removeClass('expand').addClass('fold');
	};
};

$(function(){
	// 在所见即所得编辑器中，不处理此效果
	if(typeof in_WYSIWYG == 'undefined' || !in_WYSIWYG)
	{
		attach_switch_bar();

		$(window).scroll(function () { 
			show_switch_bar();
		});
	};
});
;


