/////	отправка ошибок по ctrl-enter (требуется ajax)

//if (parent) parent.document.onkeypress = err_on_key_press;
document.onkeypress = err_on_key_press;

function err_on_key_press(e) {
	var this_keys = false;
	var ie = (window.event && window.event) || (parent && parent.event);

	if (ie) this_keys = ie.keyCode == 10 || (ie.keyCode == 13 && ie.ctrlKey);
	else if (e) this_keys = (e.which == 10 && e.modifiers == 2) || (e.keyCode == 0 && e.charCode == 106 && e.ctrlKey) || (e.keyCode == 13 && e.ctrlKey);

	if(this_keys) {
		err_prepare_error();
		return false;
	} else 	return true;

}

function err_prepare_error() {
	//var wnd = (window.name=='send_frame')? parent:window;
	if (navigator.appName != "Netscape") {
		var wnd = window;
	} else {
		var wnd = document;
	}
	var err_text = null;
	var sel_text = null;

	if (wnd.getSelection) err_text = wnd.getSelection();
	else if(wnd.document.getSelection) err_text = wnd.document.getSelection();
	else sel_text = wnd.document.selection;

	if(sel_text) {
		err_text = sel_text.createRange().text;
		sel_text = err_text;
		if(err_text == '')return;
		sel_text = ' -> '+err_text+' <- ';
	} else {
		if(err_text == '')return;
		sel_text = ' -> '+err_text+' <- ';
	}


	if(err_text.length == 0 || err_text == " ") return;
	if(sel_text.length > 300){
		alert("Вы выделили слишком большой фрагмент текста!");
	} else {
		if(confirm("Фрагмент текста, в котором вы обнаружили ошибку:\n\n"+sel_text+"\n\nОтправить сообщение об этой ошибке редактору сайта?")){
			var err_rsn = '';
			err_rsn = prompt("Уточните, пожалуйста, в чем ошибка","");
			err_send_error(err_text,err_rsn);

		}
	}

}


function err_send_error(err_text,err_rsn) {
	var err_url= document.location.href;
	var req = new JsHttpRequest();
	err_text= err_text+'';
	err_rsn= err_rsn+'';
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseText!='') {
				alert(req.responseText);
			}
		}
	}
	if (err_text) {
		//alert(err_text+' | '+err_rsn+' | '+err_url);
		req.open('POST', '/js/error_notify_send.php', true);
		req.send({ text: err_text, rsn: err_rsn, url: err_url });
	}
}
