var orfo = new Object;
orfo.bgcolor    = 0; // цвет, пока картинка не догрузилась (0 - прозрачный)
orfo.hq         = "http://moscowvolvoclub.ru/send_myorphus.php";
orfo.contlen    = 10;
orfo.contunit   = "word";
orfo.seltag1    = " -=>>";
orfo.seltag2    = "<<=- ";
orfo.version    = "3.0_exoops";

        orfo.badbrowser = "Ваш браузер не поддерживает возможность перехвата выделенного текста или IFRAME. Возможно, слишком старая версия, а возможно, еще какая-нибудь ошибка.";
        orfo.toobig     = "Вы выбрали слишком большой объем текста!";
        orfo.thanks     = "Спасибо за сотрудничество!";
        orfo.docmsg     = "Документ::";
        orfo.intextmsg  = "Орфографическая ошибка в тексте:";
        orfo.ifsendmsg  = "Послать сообщение об ошибке администратору?\nВаш браузер останется на той же странице.";

document.writeln(
'<table width=100 cellpadding=0 cellspacing=0 border=0><tr>' +
'<form name=orfo_form target=orfo_frame action="'+orfo.hq+'" method=post>' +
'<td' + (orfo.bgcolor? ' bgcolor='+orfo.bgcolor : '') + '>' +
        '<table width=100 cellpadding=0 cellspacing=0 border=0' + (orfo.bgcolor? ' bgcolor='+orfo.bgcolor : '') + '>' +
        '<tr valign=top>' +
        '<td>'+
        '        <iframe name=orfo_frame valign=top width=1 height=1 border=0 style="position:absolute;visibility:hidden"></iframe>' +
        '        <input type=hidden name="Referrer" value="">' +
        '        <input type=hidden name="Slovo" value="">' +
        '        <input type=hidden name="Lang" value="russian">' +
        '        <input type=hidden name="Address" value="">' +
        '        <input type=hidden name="Context" value="">' +
        '</td><td>' +
        '</td>' +
        '</tr>' +
        '</table>' +
'</td>' +
'</form>' +
'</tr></table>'
);


function BODY_onkeypress(e)
{        var pressed=0;
        if(!orfo.ready) return;

        var we=null;
        if(window.event) we=window.event;
        else if(parent && parent.event) we=parent.event;

        if(we) {
                // IE
                pressed=we.keyCode==10;
        } else if(e) {
                // NN
                pressed =
                        (e.which==10 && e.modifiers==2) || // NN4
                        (e.keyCode==0 && e.charCode==106 && e.ctrlKey) ||
                        (e.keyCode==13 && e.ctrlKey) // Mozilla
        }
        if(pressed) orfo_do();
}

function orfo_strip_tags(text) {
        for(var s=0; s<text.length; s++) {
                if(text.charAt(s)=='<') {
                        var e=text.indexOf('>',s); if(e<=0 || e==false) continue;
                        text=text.substring(0,s)+text.substring(e+1); s--;
                }
        }
        return text;
}

function orfo_strip_slashn(text) {
        for(var s=0; s<text.length; s++) {
                if(text.charAt(s)=='\n' || text.charAt(s)=='\r') {
                        text=text.substring(0,s)+" "+text.substring(s+1);
                        s--;
                }
        }
        return text;
}

function orfo_do() {
        var text=null, context=null;
        if(navigator.appName.indexOf("Netscape")!=-1 && eval(navigator.appVersion.substring(0,1))<5) {
                alert(orfo.badbrowser);
                return;
        }

        var w = parent? parent : window;

        var selection = null;
        if(w.getSelection) {
                context=text=w.getSelection();
        } else if(w.document.getSelection) {
                context=text=orfo_strip_tags(w.document.getSelection());
        } else {
                selection = w.document.selection;
        }
        if(selection) {
                var sel = text = selection.createRange().text;
                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)=="\
") e++;
                var rngA=selection.createRange();
                rngA.moveStart(orfo.contunit,-orfo.contlen);
                rngA.moveEnd("character",-text.length+s);
                var rngB=selection.createRange();
                rngB.moveEnd(orfo.contunit,orfo.contlen);
                rngB.moveStart("character",text.length-e);
                text    = text.substring(s,text.length-e);
                context = rngA.text+orfo.seltag1+text+orfo.seltag2+rngB.text;
        }
        if(text==null) { alert(orfo.badbrowser); return; }
        if(context.length>512) {
                alert(orfo.toobig);
                return;
        }
        var url = w.document.location;
        if(confirm(orfo.docmsg+"\n"+url+"\n"+orfo.intextmsg+'\n"'+orfo_strip_slashn(context)+'"\n\n'+orfo.ifsendmsg)) {
                orfo_send(text,url,context,text);
                orfo_thanks(0);
        }
}

function orfo_thanks(n)
{        var s=orfo.thanks;
        if(n>20) return;
        if(!(n%5)) s=' ';
        window.status=s;
        setTimeout("orfo_thanks("+(n+1)+")",100);
}

function orfo_send(text,url,context,slovo)
{        var form=document.orfo_form;
        if(!form) return;
        if(!context) context=text;
        form["Address"].value=url;
        form["Slovo"].value=slovo;
        form["Context"].value=context;
        form["Referrer"].value=top.document.location;
        form.submit();
}

orfo.ready = true;
document.onkeypress = BODY_onkeypress;
if(parent) parent.document.onkeypress = BODY_onkeypress;
