// set keyboard hook
document.onkeypress = function(e){keyHandler(e);}
var oStr = '';

function keyHandler(e) {
	var pressed=0;
	var we = null;
	if (window.event) we = window.event;
	
	if (we) {
		pressed = we.keyCode==10 ||  // IE
		(we.ctrlKey && we.keyCode == 13); // Opera 
	} else if (e) {
		pressed = 
		(e.which==10 && e.modifiers==2) || // NN4
		(e.keyCode==0 && e.charCode==106 && e.ctrlKey) ||
		(e.keyCode==13 && e.ctrlKey); // Mozilla
	}
	if (pressed){
		text = get_text();
		//text = text.toString()
		//alert(text.toString());
		if (text){
			ef = document.getElementById('error_form');
			//message(text);
			ta = document.getElementById('message');
			ta.value= text;
			hf = document.getElementById('URL');
			//alert(hf.value);
			hf.value= document.location.href;
			//alert(hf.value);
			ef.submit();
			return;
		}else{
			message('Выделите текст содержащий ошибку');
		}
	};
}

function get_text(){
 
  var err_text;

  if (window.getSelection) err_text = window.getSelection();
  else if (document.getSelection) err_text = document.getSelection();
  else err_text = document.selection.createRange().text;
	return err_text;
	//return err_text.replace(new RegExp("\\r+", "g"), " ").replace(new RegExp("\\n+", "g"), " ").replace(new RegExp("\\s+", "g"), " ").replace(new RegExp("^\\s+$", "g"), "").replace(new RegExp("\"", "g"), "&quot;");
}

function message(msg){
	alert(msg);
}

function show_keywords(text) {
		var URL = '/cgi-bin/ajax/show_keywords.cgi';
		var params = 'text=' + escape(text);
		oStr = text;
		var req = new Ajax.Request( URL+'?'+params, {  method: 'get', onComplete: function(req) {
			if ( req.responseIsFailure ) {
			} else {
				$('div_keywords').innerHTML = req.responseText;
				$('div_keywords').style.display=($('div_keywords').innerHTML ? 'block' : 'none')
			}
		}, onFailure: function() {} } );
}

function hide_keywords() {
	$('div_keywords').style.display='none';
}

function goSearch(f) {
	//$('temp_text').value = $('keyword').value;
	$('div_keywords').style.display='none';
	$('keyword').onkeyup = function(){}
	return true;
}

function preSearch(s) {
	$('keyword').value = s;
	goSearch(search);
	search.submit();
}

window.onload = function(){
	$('keyword').onblur = function(){
		setTimeout(hide_keywords,500);
		}
}

var countE = 0;
var iElm = null;
function hookEventPrs(e){
		var numcheck = /\d/;
		var keynum;
		if(window.event){keynum = e.keyCode;}
		else if(e.which){keynum = e.which;}
		if(keynum==38 || keynum==40){
			$('keyword').onkeyup = function(){}
			p = $("div_keywords").childNodes;
			if(p.length==0)return true;
			if(keynum==40){
				if(countE==0){
					iElm = p[countE];
					iElm.style.background = '#e5e5e5';
					$('keyword').value = iElm.firstChild.innerHTML;
					countE++;
				}
				else if(countE>0 && (countE<p.length-1)){
					iElm.style.background = 'none';
					iElm = p[countE];
					iElm.style.background = '#e5e5e5';
					$('keyword').value = iElm.firstChild.innerHTML;
					countE++;
				}
				else{
					iElm.style.background = 'none';
					$('keyword').value = oStr;
					countE=0;
				}
			}
			else{
				if(countE-1 == 0){
					iElm.style.background = 'none';
					countE = p.length;
					$('keyword').value = oStr;
					return false;
				}
				iElm.style.background = 'none';
				countE--;
				iElm = p[countE-1];
				iElm.style.background = '#e5e5e5';
				$('keyword').value = iElm.firstChild.innerHTML;
			}
			return false;
		}
		else{$('keyword').onkeyup = function(){show_keywords(this.value);this.form.text.value=this.value;}
		countE=0;}
}