document.onkeypress = catchKey;
		function getSelectionText() {
			var txt = '';
			if (txt = window.getSelection)
				txt = window.getSelection().toString();
			else
				txt = document.selection.createRange().text;
			return txt;
		}
        function catchKey (event) {
			if (window.event)
                event = window.event;
            if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10)) {
				var txt = getSelectionText();
				if (txt && txt.length)
					mistake_init();
            }
        }

function defScroll() {
	var x = y = 0;
	x = (window.scrollX) ? window.scrollX : document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;
	y = y = (window.scrollY) ? window.scrollY : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
	return {x:x, y:y};
}
function screenSize() {
	var w, h;
	w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
	h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
	return {w:w, h:h}; 
}
function mistake_init() {
	//par = window.opener;
	par = window;
	if (par.getSelection) {
		selection = par.getSelection();
		if(selection.getRangeAt) {
			range = selection.getRangeAt(0);
			
			if (window.opera)
				prev = selection.getRangeAt(0);
			else
				prev=document.createRange();

			prev.setStartBefore(range.startContainer);
			prev.setEnd(range.startContainer,range.startOffset);
			prev = prev.toString();

			if (prev.length>20)
				prev = prev.substring(Math.max(prev.length-30,0),prev.length).replace(/^\S{1,10}\s+/,"");

			if (window.opera)
				next = selection.getRangeAt(0);
			else
				next = document.createRange();

			next.setStart(range.endContainer, range.endOffset);
			next.setEndAfter(range.endContainer);
			next = next.toString();
			if (next.length > 50)
				next = next.toString().substring(0,30).replace(/\s+\S{1,10}$/,"");
		}

	} else if (par.document.selection.createRange) {
		selection = par.document.selection.createRange();

		selection.expand("word");

		prev = par.document.selection.createRange();
		prev.moveStart("character",-20);
		prev.setEndPoint('EndToStart',selection);
		prev.expand("word");
		prev = prev.text;

		next = par.document.selection.createRange();
		next.moveEnd("character", 20);
		next.setEndPoint('StartToEnd',selection);
		next.expand("word");
		next = next.text;

		selection = selection.text;
	}
	var mistakeForm = '\
	<a style="font:11px tahoma; float:right;" href="#close" onclick="return closeMistaker();;">Закрыть</a><br>\
	<form action="#" name="send_mistake" method="get" onsubmit="return mistakeSubmit(this);">\
		<input type="hidden" name="action" value="send" />\
		<table class="w100">\
			<tr class="vtop pb5">\
				<td class="t75 pr10"><label for="lnk">URL&nbsp;Новости</label></td>\
				<td class="w100"><input value="'+par.location.href+'" type="text" name="lnk" id="lnk" readonly="readonly" class="t75 w100" /></td>\
			</tr>\
			<tr class="vtop pb5">\
				<td class="t75 pr10"><label for="text">Ошибка</label></td>\
				<td class="w100"><textarea id="text" name="text" cols="10" rows="8" readonly="readonly" class="t75 w100">'+prev+"["+selection+"]"+next+'</textarea></td>\
			</tr>\
			<tr>\
				<td></td>\
				<td><input type="submit" name="send" value="Отправить" class="t70" /></td>\
			</tr>\
		</table>\
	</form>\
	';
	var mistaker = document.getElementById('mistaker');
	mistaker.innerHTML = mistakeForm;
	var left = (screenSize().w - mistaker.offsetWidth) / 2;
	left = (left < 0 ? 0 : left) + defScroll().x;
	var top = (screenSize().h - mistaker.offsetHeight) / 2;
	top = (top < 0 ? 0 : top) + defScroll().y;
	mistaker.style.left = left + "px";
	mistaker.style.top = top + "px";
	mistaker.style.visibility = 'visible';
	//document.getElementById('text').value=prev+"["+selection+"]"+next;
	//document.getElementById('lnk').value=par.location.href;
}
function mistakeSubmit(form) {
	var params = [];
	for (var i = 0; i < form.elements.length; i++)
		params[params.length] = form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value);
	params = params.join("&");
	setAjaxRequest(
		'GET',
		domain + 'ext/mistake/params_utf2win/?'+ params,
		params,
		function() {
			var div;
			if (div = document.getElementById('mistaker'))
				div.getElementsByTagName('form')[0].innerHTML = '<div class="w100 t75">Спасибо&nbsp;за&nbsp;помощь!</div>';
		},
		function() {
			var div;
			if (div = document.getElementById('mistaker'))
				div.getElementsByTagName('form')[0].innerHTML = '<div class="w100 t75">Ошибка при отправлении</div>';
		}, 0,0,0
	);
	return false;
}
function closeMistaker() {
	var div;
	if (div = document.getElementById('mistaker')) {
		div.innerHTML = '';
		div.style.visibility = 'hidden';
	}
	return false;
}
