// ==UserScript==
// @name           CodeSelector
// @description    Ajoute un lien pour sélectionner le code compris dans les balises <code></code> , fonctionne aussi au double clique sur le code
// @include        http://*.siteduzero.com/*
// @author         delphiki
// ==/UserScript==

if(typeof unsafeWindow == 'undefined') {
	window.unsafeWindow = window;
}

$ = unsafeWindow.jQuery;

$(function(){
	$('span.code').append(' - <a href="#" class="select_code">Sélectionner</a>');
	
	function codeSelect(divCode){
		var TextCode = divCode.text();
		var HtmlCode = divCode.html();
		
		var height = divCode.height();
		var width = divCode.width();
		var lineHeight = divCode.css('line-height');
		var fontSize = divCode.css('font-size');
		
		divCode.empty();
		divCode.append('<textarea id="selectwrapper" onfocus="select();" readonly="readonly"></textarea>');
		
		$('#selectwrapper').css({
								'margin-top' : '5px',
								'width' : width + 'px',
								'height' : height + 'px',
								'overflow' : 'auto',
								'line-height' : lineHeight,
								'font-size' : fontSize
							});
		
		$('#selectwrapper').text(TextCode);
				
		$('#selectwrapper').focus();
				
		$('#selectwrapper').blur(function(){
			$('#selectwrapper').remove();
			divCode.append(HtmlCode);
		});
	}
	
	$('.syntax').dblclick(function(){
		var divCode = $(this);
		codeSelect(divCode);
	});
	
	$('.select_code').click(function(){
		var divCode = $(this).parent().next().find('.syntax');
		codeSelect(divCode);		
		return false;
	});
});