//прячет элементы applet, iframe, select которые попадают под objElement
function hideFuckingElements(objElement) {
	if (objElement) {
		
		var p = getAbsolutePos(objElement);
		if(p) {
			var EX1 = p.x;
			var EY1 = p.y;
		}
		
		//alert(objElement.id + ": " + objElement.offsetWidth);
		
		var EX2 = objElement.offsetWidth + EX1;
		var EY2 = objElement.offsetHeight + EY1;
		
		//alert(objElement.id + ": X:Y " + EX1 + "-" + EX2 + " : " + EY1 + "-" + EY2)
		
		var tags = new Array("applet", "iframe", "select");
		for (var k = tags.length; k > 0; ) {
			var ar = document.getElementsByTagName(tags[--k]);
			var cc = null;
	
			for (var i = ar.length; i > 0;) {
				cc = ar[--i];
	
				p = getAbsolutePos(cc);
				var CX1 = p.x;
				var CY1 = p.y;

				var CX2 = cc.offsetWidth + CX1;
				var CY2 = cc.offsetHeight + CY1;
				
				//alert(cc.tagName + " X:Y " + CX1 + "-" + CX2 + " : " + CY1 + "-" + CY2)
				
				if ((CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
					if (!cc.__msh_save_visibility) {
						cc.__msh_save_visibility = getVisibility(cc);
					}
					cc.style.visibility = cc.__msh_save_visibility;
				} else {
					if (!cc.__msh_save_visibility) {
						cc.__msh_save_visibility = getVisibility(cc);
					}
					cc.style.visibility = "hidden";
				}
			}
		}
	}
}



function getAbsolutePos(objElement) {
	var SL = 0, ST = 0;
	var r = null;
	if (objElement) {
		var is_div = /^div$/i.test(objElement.tagName);
		if (is_div && objElement.scrollLeft)
			SL = objElement.scrollLeft;
		if (is_div && objElement.scrollTop)
			ST = objElement.scrollTop;
		r = { x: objElement.offsetLeft - SL, y: objElement.offsetTop - ST };
		if (objElement.offsetParent) {
			var tmp = getAbsolutePos(objElement.offsetParent);
			r.x += tmp.x;
			r.y += tmp.y;
		}
	}
	return r;
}



//возвращает св-во visibility указанного элемента
function getVisibility(objElement){
	var value = objElement.style.visibility;
	if (!value) {
		if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
			if (!Calendar.is_khtml)
				value = document.defaultView.
					getComputedStyle(objElement, "").getPropertyValue("visibility");
			else
				value = '';
		} else if (objElement.currentStyle) { // IE
			value = objElement.currentStyle.visibility;
		} else
			value = '';
	}
	return value;
}