var msgs = {
	"empty": "Select text before sending.",
	"noAjax": "Unfortunately your browser does not support AJAX.",
	"prompt": "Would you like to report this error?\n\n\"%TEXT%\"",
	"badrequest": "Error: registration unsuccessful."
}


function trim(s) { return rtrim(ltrim(s)); }
function ltrim(s) { return s.replace(/^\s+/, ''); }
function rtrim(s) { return s.replace(/\s+$/, ''); }

function GetSelectedText()
{
	var selText = "";
	if(window.getSelection) selText = window.getSelection();
	else{
		if(document.getSelection) selText = document.getSelection();
		else selText = document.selection;
	}

	if(selText.createRange) selText = selText.createRange().text;
	else selText = "" + selText;

	return trim(selText);
}

function OnCtrlEnterPress()
{
	var txt = GetSelectedText();
	if(txt == "") alert(msgs["empty"]);
	else {
		var msg = msgs["prompt"].replace("%URL%", location.href).replace("%TEXT%", txt).replace("%TITLE%", document.title);
		if(!confirm(msg)) return true;
		var request;
		try {
			request = new XMLHttpRequest();
		} catch(e) {
			try {
				request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {
					alert(msgs["noAjax"]);
					return false;
				}
			}
		}

		request.onreadystatechange = function() {
			GetTheAjaxAnswer(request);
			return true;
		};
		request.open("POST", "/orphus_eng.php", true);
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		msg = "page="+encodeURIComponent(location.href)+"&text="+encodeURIComponent(txt);
		request.send(msg);
	}
}

function GetTheAjaxAnswer(request)
{
	if(request.readyState == 4) {
		if(request.status == 200) alert(request.responseText);
		else alert(msgs["badrequest"]+"\nStatus: "+request.status);
	}
}

document.onkeypress = function(e)
{
	var btn = false;

	var we = (window.event && window.event) || (parent && parent.event);
	if(we)
		btn = (we.keyCode == 10) || (we.keyCode == 13 && we.ctrlKey);
	else
		if(e)
			btn = (e.which==10&&e.modifiers==2)||(e.keyCode==0&&e.charCode==106&&e.ctrlKey)||(e.keyCode==13&&e.ctrlKey);

	if(btn) OnCtrlEnterPress();
}

function orphus_over(e) {
	var obj = document.getElementById("orphus_div");

	if(window.event != null)
	{
		var x = 0, y = 0;
		if (!e) e = window.event;
		if (e.pageX || e.pageY){
			x = e.pageX;
			y = e.pageY;
		}
		else if (e.clientX || e.clientY){
			x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
			y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
		}
		obj.style.left = x+5;
		obj.style.top=y+5;
		obj.style.display = "block";
	}
}
function orphus_out() {
	var obj = document.getElementById("orphus_div");
	obj.style.display = "none";

}