//Использование: <script type="text/javascript" src="/error_sending/send_error.js"></script>
// или include_once($my_DOCUMENT_ROOT."error_sending/client_send_error.php");
document.write("<span style='font-size:12px;'><span style='font-size:18px;color:red'><b>!</span> <font color=#A300CC>Е</font><font color=#8100B1>с</font><font color=#630092>л</font><font color=#4B0066>и</font></b> Вы обнаружили на странице ошибку, выделите мышью слово или фразу и нажмите сочетание клавиш Ctrl+Enter (<a href='/error_sending/help.htm' target='_blank'>подробнее</a>).</span>\r\n");
document.write("<span id='unikum_id_error_span' ></span>\r\n");

//if(typeof(sender_ip)=='undefined')
//var sender_ip="не известен..";

//var sender_cook=m_getCookie('user_ident');



// для фиксации диалога внизу не зависимо от прокрутки
//!!!!!!   document.body.style.background = 'url(/;-)/n.gif) no-repeat';
//document.body.style.backgroundAttachment = 'fixed';!!! отменяет блин картинку фона <body

//alert(sender_cook);

document.onkeypress= function selectedText(e)
{
with (this) 
{
    var pressed=0;
    var we = null;
    if (window.event) we = window.event;
    else if (parent && parent.event) we = parent.event;
    if (we) {
      // IE & Opera
      pressed = we.keyCode==10 ||  // IE
        (we.keyCode == 13 && we.ctrlKey); // Opera 
    } 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) 
		return;
 }


/////////////////////

var context = 0;
var text=0;
var selection=0;
if(parent.getSelection)// типа оперы
{
	text=parent.getSelection();
}
else 
if (parent.document.getSelection) 
{
	text = parent.document.getSelection();
	
} 
else // 
{ 
	selection = parent.document.selection;
range = document.selection.createRange();
range.expand("sentence");// показывать все предложение
context=range.text;
//alert(range.text);	
}

if(selection)
{
var oSelTxt = document.selection.createRange();
text=oSelTxt.text;
}
//if(!text)
//{
//alert('Ваш просмотрщик не поддерживает возможноть получения выделенного текста...Используйте шаблон для вставки текста вручную, введя цитату между [quote] и [/quote]');
//return;
//}

text=""+text;// - только для оперы и фокса: они иначе не воспринимают text как объект :))))

//alert(text.length);

if(text.length>200)
{alert("Выделен слишком большой фрагмент, больше 200 символов.");return;}

if(text.length==0)
{alert("Пожалуйста, выделите фрагмент текста!.. :)\r\n\r\nЕсли он итак был выделен, значит Ваш просмотрщик не позволил его считать.\r\nВ этом случае, пожалуяста, скопируйте фрагмент с ошибкой в окошко ввода.");return;}

if(text.length<3)
{alert("Пожалуйста, выделите фрагмент побольше!.. :)");return;}

//if(confirm("Выделенный текст:\n_____________________________________\n"+text+"\n_____________________________________\n\nПослать сообщение об ошибке?"))
//send_error(text);  url_encode(context)

theExp = new RegExp('"', "g");

text=text.replace(theExp,"&quot;");
//text=text.replace(/"/g,"&quot;"); - тоже можно

if(context)
{	
context=""+context;
context=context.replace(theExp,"&quot;");
}


show_error_dlg(1,context,text);

}

///////////////////////////////////
function show_error_dlg(show,context,select)
{
if(show)
{
id='unikum_id_error'; //unikum_id_error_span
border="#000000";
bgcolor="#E4E4E4";
text="<center><b>Сообщение об ошибке:</b><center><form name=error_form action=\"/error_sending/send_error.php\" target=\"_error_sending_\" method=post>Выделен текст с ошибкой:<br><span style=\"color: #ff0000; background-color: #febbb8;\">&quot"+select+"&quot</span><br>";
if(context) text+="<br>в предложении:<br><span style=\"background-color: #febbb8;\">&quot;"+context+"&quot;</span><br>";
text+="<br>Еще передать замечание:<br>\
<textarea name=\"comment\"  maxlength=\"1012\" rows=3 cols=80 style=\"FONT-FAMILY: Verdana, Arial;FONT-SIZE: 10px;\"></textarea><br>\
<input type=hidden name=\"error_referrer\" value=\""+top.document.location+"\">\
<input type=hidden name=\"error_URL\" value=\""+document.location+"\">\
<input type=hidden name=\"error_context\" value=\""+context+"\">\
<input type=hidden name=\"error_selected\" value=\""+select+"\">\
<input type=\"submit\" name=\"submit\" value=\"Послать сообщение об ошибке\" onclick=\"javascript:show_error_dlg(0,0,0)\" style=\"FONT-FAMILY: Verdana, Arial;FONT-SIZE: 10px;\">&nbsp;\
<input type=\"button\" name=\"cancel\" value=\"Отмена\" onclick=\"javascript:show_error_dlg(0,0,0)\"  style=\"FONT-FAMILY: Verdana, Arial;FONT-SIZE: 10px;\">\
</form>\r\n";

//<input type=hidden name=\"sender_ip\" value=\""+sender_ip+"\">\
//<input type=hidden name=\"sender_cook\" value=\""+sender_cook+"\">\

var element = document.getElementById(id+"_span");
var isOther=0;
if(window.opera || navigator.userAgent.indexOf("Firefox")>0)
var isOther=1;
document.sizeX=0;// самодельное свойство, иначе expression не воспринимает переменную
document.sizeY=0;
if(isOther)// не поддерживают expression() в стилях
{
strX="0";
strY="0";
}
else
{
strX="expression((document.body.clientWidth-document.sizeX)/2)";//+(document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft))";
strY="expression( (document.getElementsByTagName(\'body\')[0].scrollTop + document.getElementsByTagName(\'body\')[0].clientHeight) - document.sizeY)";
}
var content = '<div  id="error_dlg" style="position:absolute;border:solid 2px '+border+';display:none;padding:2px;Z-INDEX:1000;LEFT:'+strX+';TOP:'+strY+';font-size:16px;background-color:'+bgcolor+';">'+text+'</div>';    
element.innerHTML = content;
document.getElementById("error_dlg").style.display = 'block';
document.sizeY=document.getElementById("error_dlg").offsetHeight;
document.sizeX=document.getElementById("error_dlg").offsetWidth;

if(isOther)
{
document.getElementById("error_dlg").style.left=(document.body.clientWidth-document.sizeX)/2;
document.getElementById("error_dlg").style.top=(document.getElementsByTagName('body')[0].clientHeight) - document.sizeY;

var FixedElement = document.getElementById("error_dlg");
FixedElement.style.position="fixed";
}

}
else
	document.getElementById("error_dlg").style.display = 'none'; 

}
