//	Copyright © Coretomic, 2005

var curScreenDim;
var idTimeOut;

function updateTemplates() {
	if (templates) {
		for (var i = 0; i < templates.length; i++) {
			checkAppearance(templates[i]);
		}
	}
	if (is.opera) {
		idTimeOut = setTimeout("isScreenDimChange()", 1000);
	}
}

function checkAppearance(baseName) {
	var i = 0;
	var j = 0;
	var blockId = baseName + "-" + i + "-" + j;
	var elt = getElt(blockId);
	while (elt) {
		var rowWidth = 0;
		while (elt) {
			if ((elt.className.indexOf('canDisappear') == -1 || !isEmpty(blockId)) && elt.width.indexOf('%') != -1) {
				rowWidth += 1 * elt.width.replace('%', '');
			}
			j++;
			blockId = baseName + "-" + i + "-" + j;
			elt = getElt(blockId);
		}
		j = 0;
		blockId = baseName + "-" + i + "-" + j;
		elt = getElt(blockId);
		while (elt) {
			if (elt.className.indexOf('canDisappear') != -1 && isEmpty(blockId)) {
				elt.style.display = 'none';
			}
			else {
				if (elt.width.indexOf('%') != -1) {
					var width = 1 * elt.width.replace('%', '') / rowWidth * 100;
					elt.width = width + '%';
				}
				checkAppearance(blockId);
			}

			j++;
			blockId = baseName + "-" + i + "-" + j;
			elt = getElt(blockId);
		}
		i++;
		j = 0;
		blockId = baseName + "-" + i + "-" + j;
		elt = getElt(blockId);
	}
}

function isEmpty(baseName) {
	var i = 0;
	var j = 0;
	var blockId = baseName + "-" + i + "-" + j;
	var elt = getElt(blockId);
	var baseElt = getElt(baseName);
	
	if (!elt) {
		var childElement = baseElt.firstChild;
		if (baseElt.innerHTML.length == 0 || (childElement && childElement.tagName == 'DIV' && childElement.className.indexOf('canDisappear') != -1 && childElement.innerHTML.length == 0)) {
			return true;
		}
		else {
			return false;
		}
	}
	else {
		var empty = true;
		while (elt) {
			while (elt) {
				empty &= isEmpty(blockId);
				j++;
				blockId = baseName + "-" + i + "-" + j;
				elt = getElt(blockId);
			}
			i++;
			j = 0;
			blockId = baseName + "-" + i + "-" + j;
			elt = getElt(blockId);
		}
		return empty;
	}
}

function isScreenDimChange() {
	tempScreenDim = getCurrentWinWidth();
	clearTimeout(idTimeOut);
	if (curScreenDim != tempScreenDim) {
		curScreenDim = tempScreenDim;
		idTimeOut = setTimeout("updateTemplates()", 1000);
	}
	else {
		idTimeOut = setTimeout("isScreenDimChange()", 1000);
	}
}
