Часть решения:
var divQuote = document.write('<div onmousedown="oQuote.past()" class="button" id="quote_div" style="z-index:1000;cursor:pointer;position:absolute;visibility:hidden;"><b>Цитировать</b></div>');
var divQuote = document.getElementById('quote_div');
window.onload = function(){
	//document.onselect	= quickQuote;
	//document.onclick	= quickQuote;
	document.onkeyup	= quickQuote;
	document.onmouseup	= quickQuote;	
	var oQuote = new quickQuote();
}
function quickQuote(e){
	var selText = '';
	if (window.getSelection && !window.opera) selText = window.getSelection();
	else if (document.getSelection) selText = document.getSelection();
	else if (document.selection) selText = document.selection.createRange().text;
	this.selText2 = selText;
	selText.toString().replace(/(\r?\n\s*){2,}/gi,'\r\n').replace(/^\s+|\s+$/gi,'').replace(/(\ |\t)+/gi,' ');
	if(!selText) return
		
	var e = e || window.event;
	if (e.pageX == null && e.clientX != null){ 
		var html = document.documentElement;
		var body = document.body;
		e.pageX = e.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);
		e.pageY = e.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);
	}
	
	divQuote.style.left = (e.pageX-80)+'px';
	divQuote.style.top	= (e.pageY+11)+'px';
	divQuote.style.visibility = 'visible';
	//divQuote.innerText = selText;
	
	this.past = function(){
		alert(selText);
	}
}
Есть вопрос: Как работать с объектами Javascript?
вот это прочитал, не осилил.
В данном случае у меня происходит:
1. Появляется ссылка, после выделения любого текста на старнице.
2. При нажатие на ссылку - необходимо вызвать функцию, которая продеманстрирует выделенный текст, который содержится в переменной selText.
Как это сделать с помощью объектов, а не банальной передачей выделенного текста в функцию?
А такой вриант:
if(!selText) return
не вызовет ошибку? Т.е. всегда будет выполняться верно?
Этим хотел проверить, есть ли текст в этой переменной, и нет ли ошибок получения выделенного текст (undefined).