/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
    try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e2) {
      xmlHttp = false;
    }
  }
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}


var gecko;
var pr_alt = false;  var pr_shift = true;  var pr_ctrl = false;
function addEvent(element, eventType, functionName) {
	if (element.addEventListener) {
		element.addEventListener(eventType, functionName, false);
		return true;
	} else if (element.attachEvent) {
		var r = element.attachEvent('on' + eventType, functionName);
		return r;
	} else {
		element['on' + eventType] = functionName;
	}
}

function keyPressInit(){
	if (document.addEventListener){
		document.addEventListener("keypress",
			function(e){keyAction(e)},true);
		if (navigator.appName == "Microsoft Internet Explorer") return;
		document.addEventListener("keydown", function(e){keyAction(e)}, true);
		gecko = true;
	} else if (document.attachEvent)
		document.attachEvent("onkeydown", keyAction);
}


function keyAction(e)
{
	if (!( ((e.shiftKey == true) && (pr_shift == true)) || ((e.altKey == true) && (pr_alt == true)) || ((e.ctrlKey == true) && (pr_ctrl == true)) )) return;
	var Key = e.keyCode;
	if (Key == 0) Key = e.charCode;
	if (Key == 13) {   
		if (!gecko && Key>64 && Key<91) Key += 32;
		var text = GetSelectedText();
		var tl = text.length;
		if(tl == 0) return;


		if( document.all ) {
			var XXX = screen.height/2 - 150+document.body.scrollTop;
			var YYY = screen.width/2 - 150+document.body.scrollLeft;
		}
		else if ( document.getElementById ) {
			var XXX = screen.height/2 - 150+document.body.scrollTop;
			var YYY = screen.width/2 - 150+document.body.scrollLeft;
		}

		var replaceTo = document.getElementById("replaceTo_SFE");
		replaceTo.style.top = XXX;
		replaceTo.style.left = YYY;
		document.getElementById("replaceTo_SFE").innerHTML = '&nbsp;Загружаю...';
		replaceTo.style.display = '';

		var go_to = document.location.pathname+document.location.search;
		go_to = go_to.replace("&","@");
		var url = '/db1/dinamic/find_error.php?action=show&goto='+go_to+'&text='+encodeURI(text);
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = updateSFE;
		xmlHttp.send(null);
	}
}

function updateSFE() {
  if (xmlHttp.readyState == 4) {
      document.getElementById("replaceTo_SFE").innerHTML = xmlHttp.responseText;
    }
}

function GetSelectedText()
{
	var text = "";
	var selection = null;
	if (window.getSelection) {
		text = window.getSelection();
	} else {
		selection = document.selection;
	}
	if (selection) {
		var r = selection.createRange();
		if (!r) return null;
		text = r.text;
	}
	if(text.length > 300){
		alert('Выделен слишком длинный текст. Не более 300 символов.');
		return '';
	}
	return text;
}