
/**
 * Main script for the BonusThemes.com Landscape Template
 *
 * @package bt_landscape
 * @version 1.0
 * @copyright BonusThemes.com 2008
 * @link http://www.bonusthemes.com/goto/bt_landscape
 */

function addEvent(obj, event, func)
{
	if (obj.addEventListener)
		obj.addEventListener(event, func, false);
	else if (obj.attachEvent)
		obj.attachEvent('on' + event, func);
}

function get_tl(obj)
{
	if (typeof obj == 'string')
		obj = document.getElementById(obj);

	var top = 0, left = 0;
	while (obj) {
		top += obj.offsetTop;
		left += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return {top: top, left: left};
}

function get_previous(obj)
{
	while (obj) {
		obj = obj.previousSibling;
		if (obj.nodeType == 1)
			return obj;
	}
	return null;
}

function bt_landscape_arrange()
{
	if (document.content_loaded) {
		var obj, obj2;


		// arrange lshow

		if (obj = document.getElementById('lshow_left'))
			obj.style.marginLeft = get_tl('pos_left').left + 'px';

		if (obj = document.getElementById('lshow_right'))
			obj.style.marginLeft = get_tl('pos_right').left + 'px';


		// arrange top margin of columns

		obj = document.getElementById('main_top');
		var h = obj.offsetHeight, top = get_tl(obj).top;
		document.getElementById('cntback_margin_top').style.height = top + 'px';
		if (obj = document.getElementById('advert1_margin_top')) obj.style.height = (top + h) + 'px';
		if (obj = document.getElementById('left_margin_top')) obj.style.height = (top + h) + 'px';
		if (obj = document.getElementById('right_margin_top')) obj.style.height = (top + h) + 'px';
		if (obj = document.getElementById('advert2_margin_top')) obj.style.height = (top + h) + 'px';


		// arrange bottom margins of columns

		obj = document.getElementById('main_bottom');
		var bottom_main = obj.offsetHeight + get_tl(obj).top;
	
		var bottom_left = 0;
		if (obj2 = document.getElementById('left_bottom')) bottom_left = obj2.offsetHeight + get_tl(obj2).top;
	
		var bottom_right = 0;
		if (obj2 = document.getElementById('right_bottom')) bottom_right = obj2.offsetHeight + get_tl(obj2).top;
	
		var bottom = Math.max(bottom_left, bottom_main, bottom_right);

		if (bottom > bottom_main)
			obj.style.height = (obj.offsetHeight + bottom - bottom_main) + 'px';


		// arrange height of transparent area

		document.getElementById('cntback_body_content').style.height = (bottom - top) + 'px';


		// resize

		bt_landscape_hresize();
	}

	if (!document.page_loaded) window.setTimeout('bt_landscape_arrange()', 500);
}

function bt_landscape_hresize()
{
	var obj = document.getElementById('fore_bottom');
	var fore_bottom = get_tl(obj).top + obj.offsetHeight;
	var height = Math.max(document.body.clientHeight, document.left_height, document.right_height, fore_bottom);
	var divs = new Array(
		'back',
		'back_left', 'back_left_start', 'back_left_image', 'back_left_edge', 'back_left_edge_start',
		'back_content',
		'back_right', 'back_right_start', 'back_right_image', 'back_right_edge', 'back_right_edge_start'
	);

	for (var i = 0, len = divs.length; i < len; i++)
		if (obj = document.getElementById(divs[i]))
			obj.style.height = height + 'px';
}

function bt_landscape_honload()
{
	document.page_loaded = true;
	var obj;

	document.left_height = 0;
	if (obj = document.getElementById('back_left')) document.left_height = obj.offsetTop + obj.offsetHeight;

	document.right_height = 0;
	if (obj = document.getElementById('back_right')) document.right_height = obj.offsetTop + obj.offsetHeight;

	addEvent(window, 'resize', bt_landscape_hresize);
	bt_landscape_arrange();
}

document.page_loaded = false;
addEvent(window, 'load', bt_landscape_honload);

bt_landscape_arrange();

