var spellckeck = new Object;

spellckeck.email      = "";
spellckeck.post       = "http://www.myeburg.net/?path=/home/spellcheck.html"; 
spellckeck.contlen    = 10;
spellckeck.contunit   = "word";
spellckeck.seltag1    = "<FONT COLOR=RED>";
spellckeck.seltag2    = "</FONT>";

	spellckeck.toobig     = "Слишком много данных!";
	spellckeck.docmsg     = "Doc:";
	spellckeck.intextmsg  = "Ошибка:";
	spellckeck.ifsendmsg  = "Исправить ошибку:";


document.writeln(
'<form name=spellckeck_form action="'+spellckeck.post+'" method=post>' +
'	<input type=hidden name="url" value="1">' +
'	<input type=hidden name="content" value="1">' +
'	<input type=hidden name="myerror" value="1">' +
'</form>'
);


function BODY_onkeypress(e)
{	var pressed=0;
	if(!spellckeck.ready) return;
	if(window.event) {
		pressed=window.event.keyCode==10;
	} else if(e) {
		pressed = 
			(e.which==10 && e.modifiers==2) ||
			(e.keyCode==0 && e.charCode==106 && e.ctrlKey) ||
			(e.keyCode==13 && e.ctrlKey)
	}
	if(pressed) spellckeck_run();
}

function spellckeck_run() {
	var text=null, context=null;
	var selection = null;
	if(window.getSelection) {
		context=text=window.getSelection();
	} else if(document.getSelection) {
		context=text=document.getSelection();
	} else {
		selection = document.selection;
	}
	if(selection) {
		var sel = text = selection.createRange().htmlText;
		var s=0; while(text.charAt(s)==" " || text.charAt(s)=="\n") s++;
		var e=0; while(text.charAt(text.length-e-1)==" " || text.charAt(text.length-e-1)=="\n") e++;
		var rngA=selection.createRange();
		rngA.moveStart(spellckeck.contunit,-spellckeck.contlen);
		rngA.moveEnd("character",-text.length+s);
		var rngB=selection.createRange();
		rngB.moveEnd(spellckeck.contunit,spellckeck.contlen);
		rngB.moveStart("character",text.length-e);
		text    = text.substring(s,text.length-e);
		context = rngA.htmlText+spellckeck.seltag1+text+spellckeck.seltag2+rngB.htmlText;
	}
	if(context.length>512) {
		alert(spellckeck.toobig);
		return;
	}
	var url=location;
	if(confirm(spellckeck.docmsg+" "+url+"\n"+spellckeck.intextmsg+'  "'+text+'"\n\n'+spellckeck.ifsendmsg)) {
		spellckeck_send(text,url,context);
	}
}

function spellckeck_send(text,url,context)
{	var form=document.spellckeck_form;
	if(!form) return;
	if(!context) context=text;
	form["url"].value=url;
	form["content"].value=context;
	form["myerror"].value=text;
	form.submit();
}

spellckeck.ready = true;
document.onkeypress = BODY_onkeypress;
