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();
	}
	else if (event.ctrlKey && event.keyCode == 67 && isadmin != true )
	{
		alert ("При копировании информации ссылка на РИА ОмскПресс обязательна.");
	}
}

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;
	
	// fix ->
	try { $('span.dirty-clipboard').remove(); } catch(e) {}
	// <- fix

    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 = '<table width="100%" class="info-table-th" cellpadding="0" cellspacing="0" border="0"><tr><th>Отправить ошибку на модерацию</th><td width="100" align="right"><a href="#close" onclick="closeMistaker(); return false;">Закрыть</a></td></tr></table>\
    <div style="padding:10px 15px; "><form action="#" name="send_mistake" method="get" onsubmit="mistakeSubmit(this); return false;">\
        <input type="hidden" name="action" value="send" />\
        <table class="mess-table-body">\
            <tr>\
                <th>URL&nbsp;Новости:</th>\
                <td><input style="width:330px; " value="'+par.location.href+'" type="text" name="lnk" id="lnk" readonly="readonly" /></td>\
            </tr>\
            <tr>\
                <th>Ошибка:</th>\
                <td><textarea style="width:330px; " id="text" name="text" cols="25" rows="8" readonly="readonly" >'+prev+"["+selection+"]"+next+'</textarea></td>\
            </tr>\
            <tr>\
                <td></td>\
                <td><input type="submit" name="send" value="Отправить" />&nbsp;<input type="button" value="Отмена" onclick="closeMistaker(); return false;" /></td>\
            </tr>\
        </table>\
    </form></div>';
    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';
}
function mistakeSubmit(form) 
{
   	var req = new JsHttpRequest();
	req.onreadystatechange = function() 
	{
		form.send.disabled = true;
		if (req.readyState == 4) 	
		{
			var div;
			if (div = document.getElementById('mistaker'))
				div.getElementsByTagName('form')[0].innerHTML = '<div class="mess">' + req.responseText + '</div>'; 			
			form.send.disabled = false;
		}
    }	
	req.open(null, 'http://omskpress.ru/ajax/mistaker.php', true);
	req.send( { action: form.action.value, link: form.lnk.value, text: form.text.value } );
}
function closeMistaker() {
    var div;
    if (div = document.getElementById('mistaker')) {
        div.innerHTML = '';
        div.style.visibility = 'hidden';
    }
    return false;
}