var centerHint = false

// Орфография
var selstr='';

function display() {
var str='';
  if (document.getSelection) {
    str = document.getSelection();
    if (window.RegExp) {
      var regstr = unescape("%20%20%20%20%20");
      var regexp = new RegExp(regstr, "g");
      str = str.replace(regexp, "");
    }
  } else if (document.selection && document.selection.createRange) {
    var range = document.selection.createRange();
    str = range.text;
  }
//alert(str);
if (str) selstr=str; else selstr="";
}

// Цитирование для bb форм
function easycopyQ() { 
txt='' 
if (document.getSelection) {txt=document.getSelection()} 
else if (document.selection) {txt=document.selection.createRange().text;} 
 if(txt!=''){
  txt='[quote]'+txt+'[/quote]'
 } else {
  txt=''
 }
} 

function copyQ(author) { 
txt='' 
if (document.getSelection) {txt=document.getSelection()} 
else if (document.selection) {txt=document.selection.createRange().text;} 
 if(author!='' && txt!=''){
  txt='[quote]'+author+'\n'+txt+'[/quote]'
 } else {
  txt=''
 }
} 

function pasteQ(area){
if (txt=='')alert('Выделите текст для цитирования...');
else insertAtCaret(document.getElementById(area),txt);
}

function insertAtCaret (textObj, textFieldValue) {
if(document.all){ 
if (textObj.createTextRange && textObj.caretPos && !window.opera) { 
var caretPos = textObj.caretPos; 
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFieldValue + ' ' : textFieldValue; 
}else{ 
textObj.value += textFieldValue; 
} 
}else{ 
if(textObj.selectionStart){ 
var rangeStart = textObj.selectionStart; 
var rangeEnd = textObj.selectionEnd; 
var tempStr1 = textObj.value.substring(0,rangeStart); 
var tempStr2 = textObj.value.substring(rangeEnd, textObj.value.length); 
textObj.value = tempStr1 + textFieldValue + tempStr2; 
textObj.selectionStart=textObj.selectionEnd=rangeStart+textFieldValue.length;
}else{ 
textObj.value+=textFieldValue; 
} 
} 
}

if (window.Event)
  document.captureEvents(Event.MOUSEUP);
document.onmouseup = display;
// завершение инициализации орфографии

function getName(obj){
  return (obj.name)?obj.name:obj.id
}

function getObject(name){	
  var obj
  if (document.all)
    obj=document.all[name]
  else
  {
    obj=document.getElementById(name)
    if (!obj)
      obj=document.getElementsByName(name)[0]
    if (document.getElementsByName(name).length>1)
      obj=document.getElementsByName(name)
  }
  return obj
}

function showHint(link, show){
	var num = getName(link)
	num = num.substr(1, num.length - 1)
	getObject("hint" + num).style.visibility = show?"visible":"hidden"
}

function corrHint(link, x, y){
	var num = getName(link)
	num = num.substr(1, num.length - 1)
	var hnt = getObject("hint" + num)
	hnt.style.left = x + document.body.scrollLeft - (centerHint?70:2)
	hnt.style.top = y + document.body.scrollTop + 16
}

var isGecko = navigator.appName == "Netscape"
var isOpera = navigator.userAgent.indexOf("Opera") > -1

function mOver(e){
	if (isOpera) corrHint(event.srcElement, event.clientX, event.clientY)
	if (isGecko) showHint(e.target, true)
	else showHint(event.srcElement, true)
}
function mOut(e){
	if (isGecko) showHint(e.target, false)
	else showHint(event.srcElement, false)
}
function mMove(e){
	if (isGecko) corrHint(e.target, e.pageX, e.pageY)
	else corrHint(event.srcElement, event.clientX, event.clientY)
}

function init(){
	for (var i=1; i <= 350; i++){
		obj = getObject("l" + i);
		if (obj){
			obj.onmouseover=mOver
			obj.onmouseout=mOut
			obj.onmousemove=mMove
		}		
	}
}