/* Доставалка "добавьте ссылку" - addlink */

/* Добавляем к выделенному тексту статьи ссылку на эту статью. */
$(document).ready(function() {
    $('div.con_text p').article_addlink({minlen: 100});
});

/* Добавляем к выделенному тексту статьи ссылку на эту статью. */
jQuery.fn.article_addlink = function(text) {
	var params = {addtotext: '<br /><br /><i><b>Не забудьте поставить ссылку: <a href="'+window.location.protocol+'//'+window.location.hostname+window.location.pathname+'">'+window.location.protocol+'//'+window.location.hostname+window.location.pathname+'</a></b></i><br /><br /><br />', minlen: 25}
	$.extend(params, text);
	var copy_span = document.createElement('span');
	copy_span.id = 'addtocopy';
	copy_span.innerHTML = params.addtotext;
	return this.each(function(){
		$(this).mousedown(function(){
			$('#addtocopy').remove();
		});
		$(this).mouseup(function(){
			if (window.getSelection) {
				var selected = window.getSelection();
				var selected_text = selected.toString();
				if (selected_text.length < params.minlen || !selected_text) {
					return;
				} else {
					var new_selected = selected.getRangeAt(0);
					selected_text = new_selected.cloneRange();
					selected_text.collapse(false);
					selected_text.insertNode(copy_span);
					new_selected.setEndAfter(copy_span);
					selected.removeAllRanges();
					selected.addRange(new_selected);
				}
			} else if (document.selection) {
				var selected = document.selection.createRange();
				var selected_text = selected.text;
				if (selected_text.length < params.minlen || !selected_text) {
					return;
				} else {
					selected_text = selected.duplicate();
					selected_text.collapse(false);
					selected_text.pasteHTML(copy_span.outerHTML);
					selected.setEndPoint('EndToEnd', selected_text);
					selected.select();
				}
			}
		});
	});
}
