function establishPanels() {
	paneldx01 = getID('panel01'); paneldx02 = getID('panel02'); paneldx03 = getID('panel03');
	paneldx11 = getID('panel11'); paneldx12 = getID('panel12'); paneldx13 = getID('panel13');
	paneldx21 = getID('panel21'); paneldx22 = getID('panel22'); paneldx23 = getID('panel23');

	paneldx01_ = paneldx02.offsetTop; paneldx02_ = paneldx03.offsetTop; paneldx03_ = paneldx11.offsetTop;
	paneldx11_ = paneldx12.offsetTop; paneldx12_ = paneldx13.offsetTop; paneldx13_ = paneldx21.offsetTop;
	paneldx21_ = paneldx22.offsetTop; paneldx22_ = paneldx23.offsetTop;

	swapdx01 = getID('swap01'); swapdx02 = getID('swap02'); swapdx03 = getID('swap03');
	swapdx11 = getID('swap11'); swapdx12 = getID('swap12'); swapdx13 = getID('swap13');
	swapdx21 = getID('swap21'); swapdx22 = getID('swap22'); swapdx23 = getID('swap23');

	if (vista) {
		while (paneldx02 = paneldx02.offsetParent) paneldx01_ += paneldx02.offsetTop;
		while (paneldx03 = paneldx03.offsetParent) paneldx02_ += paneldx03.offsetTop;
		while (paneldx11 = paneldx11.offsetParent) paneldx03_ += paneldx11.offsetTop;

		while (paneldx12 = paneldx12.offsetParent) paneldx11_ += paneldx12.offsetTop;
		while (paneldx13 = paneldx13.offsetParent) paneldx12_ += paneldx13.offsetTop;
		while (paneldx21 = paneldx21.offsetParent) paneldx13_ += paneldx21.offsetTop;

		while (paneldx22 = paneldx22.offsetParent) paneldx21_ += paneldx22.offsetTop;
		while (paneldx23 = paneldx23.offsetParent) paneldx22_ += paneldx23.offsetTop;
	}
	paneldx01_ -= gap; paneldx02_ -= gap; paneldx03_ -= gap;
	paneldx11_ -= gap; paneldx12_ -= gap; paneldx13_ -= gap;
	paneldx21_ -= gap; paneldx22_ -= gap;
}
function swapPanels() {
	if (swapdx01) {
		scrollHeight = (isAll) ? document.documentElement.scrollTop : self.pageYOffset;
		if (scrollHeight < paneldx03_) {
			swapcount = (scrollHeight < paneldx01_) ? 0 : (scrollHeight < paneldx02_) ? 1 : 2;
			if (swapcount != Hold) {
				hideAll();
				swapdx01.className = (swapcount) ? 'panel1' : 'panel1 init';
				if (swapcount) swapdx02.className = 'panel2';
				if (swapcount > 1) swapdx03.className = 'panel3';
				paneldx02.className = (swapcount) ? '' : 'gray';
				paneldx03.className = (swapcount > 1) ? '' : 'gray';
				paneldx11.className = paneldx21.className = 'gray';
			}
		} else if (scrollHeight > paneldx03_ && scrollHeight < paneldx13_) {
			swapcount = (scrollHeight < paneldx11_) ? 0 : (scrollHeight < paneldx12_) ? 1 : 2;
			if (swapcount != Hold) {
				hideAll();
				swapdx11.className = 'panel1';
				if (swapcount) swapdx12.className = 'panel2';
				if (swapcount > 1) swapdx13.className = 'panel3';
				paneldx11.className = '';
				paneldx12.className = (swapcount) ? '' : 'gray';
				paneldx13.className = (swapcount > 1) ? '' : 'gray';
				paneldx21.className = 'gray';
			}
		} else if (scrollHeight > paneldx13_) {
			swapcount = (scrollHeight < paneldx21_) ? 0 : (scrollHeight < paneldx22_) ? 1 : 2;
			if (swapcount != Hold) {
				hideAll();
				swapdx21.className = 'panel1';
				if (swapcount) swapdx22.className = 'panel2';
				if (swapcount > 1) swapdx23.className = 'panel3';
				paneldx11.className = paneldx21.className = '';
				paneldx22.className = (swapcount) ? '' : 'gray';
				paneldx23.className = (swapcount > 1) ? '' : 'gray';
			}
		}
		Hold = swapcount;
	}
}
function hideAll() {
	hide01(3); hide11(3); hide21(3);
}
