	var popupV = false;
	var overlayV = false;
	var owidth, oheight;

	window.onresize = function(e) {
		initOverlay();
	}

	function initOverlay() {
		var scrollX, scrollY;
		var pageW, pageH, viewH;

		if (isNaN(owidth)) owidth = 50;
		if (isNaN(oheight)) oheight = 50;

		if (navigator.appName == "Microsoft Internet Explorer") {
			viewW = document.documentElement.offsetWidth;
			viewH = document.documentElement.offsetHeight;
		}
		else {
			viewW = document.documentElement.clientWidth;
			viewH = document.documentElement.clientHeight;
		}

		if (self.pageYOffset) {
			scrollX = self.pageXOffset;
			scrollY = self.pageYOffset;
		}
		else if (document.documentElement && document.documentElement.scrollTop) {
			scrollX = document.documentElement.scrollLeft;
			scrollY = document.documentElement.scrollTop;
		}
		else if (document.body) {
			scrollX = document.body.scrollLeft;
			scrollY = document.body.scrollTop;
		}

		if (document.body.scrollHeight > document.body.offsetHeight) {
			pageW = document.body.scrollWidth;
			pageH = document.body.scrollHeight;
		}
		else {
			pageW = document.body.offsetWidth;
			pageH = document.body.offsetHeight;
		}

		if (viewH > pageH) pageH = viewH;

		document.getElementById('overlay').style.top = "0px";
		document.getElementById('overlay').style.left = "0px";
		document.getElementById('overlay').style.width = pageW + "px";
		document.getElementById('overlay').style.height = pageH + "px";

		ptop = scrollY + viewH/2 - oheight/2;
		pleft = scrollX + viewW/2 - owidth/2;

		document.getElementById('popup').style.top = ptop + "px";
		document.getElementById('popup').style.left = pleft + "px";
		document.getElementById('popup').style.width = owidth + "px";
		document.getElementById('popup').style.height = oheight + "px";

		document.getElementById('popup_top').style.top = (ptop - 20) + "px";
		document.getElementById('popup_top').style.left = pleft + "px";
		document.getElementById('popup_top').style.width = owidth + "px";
		document.getElementById('popup_top').style.height = (oheight - 20) + "px";
	};

	function showFrameOverlay(src) {
		owidth = 700;
		oheight = 500;
		initOverlay();
		document.getElementById('popup').innerHTML = "<iframe src=\"" + src + "\"  frameborder=\"0\" class=\"popup_frame\"></iframe>";
		togOverlay();
	}

	function showImageOverlay(img) {
		if (navigator.appName != "Microsoft Internet Explorer") {
			owidth = img.naturalWidth;
			oheight = img.naturalHeight;
		}
		else {
			preloadImg = new Image();
			preloadImg.onload=function(){
				owidth = preloadImg.width + 2;
				oheight = preloadImg.height + 2;
			}
			preloadImg.src = img.src;
		}
		initOverlay();
		document.getElementById('popup').innerHTML = "<img src=\"" + img.src + "\" />";
		togOverlay();
	}

	function showImageOverlaySrc(src) {
		preloadImg = new Image();
		preloadImg.onload = function(){
			if (navigator.appName != "Microsoft Internet Explorer") {
				owidth = preloadImg.width;
				oheight = preloadImg.height;
			} else {
				owidth = preloadImg.width + 2;
				oheight = preloadImg.height + 2;
			}
			initOverlay();
			document.getElementById('popup').innerHTML = "<img src=\"" + src + "\" />";
			togOverlay();
		}
		preloadImg.src = src;
	}

	function showInputOverlay(text) {
		owidth = 210;
		oheight = 120;
		initOverlay();
		if (text == undefined) text = '';
		document.getElementById('popup').innerHTML = "<div style=\"padding:10px\">http:// <input type=\"text\" id=\"link\" value=\"\" /><br/><br/>имя <input type=\"text\" id=\"text\" value=\"" + text + "\" /><button onClick=\"parent.togOverlay(); parent.formatText('insertlink', ['http://' + document.getElementById('link').value.replace(/http:/gi, ''), document.getElementById('text').value]);\">OK</button>";
		togOverlay();
	}

	function togPopup() {
		if (popupV) {
			document.getElementById('popup').style.display = 'none';
			document.getElementById('popup_top').style.display = 'none';
		}
		else {
			document.getElementById('popup').style.display = 'block';
			document.getElementById('popup_top').style.display = 'block';
		}
		popupV = !popupV;
	};

	function togOverlay() {
		togPopup();
		if (overlayV) {
			swfs = document.getElementsByTagName('OBJECT');
			for (var i=0; i<swfs.length; i++) {
				var swf = swfs[i];
				swf.style.visibility = "visible";
			}
			if (navigator.appName == "Microsoft Internet Explorer") {
				sels = document.getElementsByTagName('select');
				for (var i=0; i<sels.length; i++) {
					var sel = sels[i];
					sel.style.visibility = "visible";
				}
			}
			document.getElementById('overlay').style.display = 'none';
		}
		else {
			swfs = document.getElementsByTagName('OBJECT');
			for (var i=0; i<swfs.length; i++) {
				var swf = swfs[i];
				swf.style.visibility = "hidden";
			}
			if (navigator.appName == "Microsoft Internet Explorer") {
				sels = document.getElementsByTagName('select');
				for (var i=0; i<sels.length; i++) {
					var sel = sels[i];
					sel.style.visibility = "hidden";
				}
			}
			document.getElementById('overlay').style.display = 'block';
		}
		overlayV = !overlayV;
	};
