(function( $ ){
	$.fn.cSize = function(settings) {
		settings = jQuery.extend(
			{
				texteAgrandir 		: 'Agrandir',
				texteReduire 		: 'Réduire',
				tailles				: Array('11px','12px','13px','14px','15px','16px','18px'),
				startSize			: 3,
				tags				: Array( 'div','ul','p','h3','h4','a','span'),
				ecraseFont			: false,
				utilisePictos		: false,
				cheminPictoAgrandir	: 'picto_agrandir.gif',
				cheminPictoReduire	: 'picto_reduire.gif'
				
			}, settings
		);
		
		return this.each(
			function()
			{
				var $this = jQuery(this);
				var current_size = settings.startSize;
				
				// Ajout des petits boutons avant les tags :
				$this.before('<ul class="boutons_csize"><li><a href="#" onclick="window.print();return false;"><img src="img/print.png" alt="" border="0" /></a></li></ul>');
				
				if (!settings.utilisePictos) {
					$this.prev('ul').append('<li><a class="bouton_csize agrandir" title="' + settings.texteAgrandir + '">' + settings.texteAgrandir + '</a></li>');
					$this.prev('ul').append('<li><a class="bouton_csize reduire" title="' + settings.texteReduire + '">' + settings.texteReduire + '</a></li>');
				}
				else {
					$this.prev('ul').append('<li><a class="bouton_csize agrandir" title="' + settings.texteAgrandir + '"><img src="' + settings.cheminPictoAgrandir + '" alt="' + settings.texteAgrandir + '" /></a></li>');
					$this.prev('ul').append('<li><a class="bouton_csize reduire" title="' + settings.texteReduire + '"><img src="' + settings.cheminPictoReduire + '" alt="' + settings.texteReduire + '" /></a></li>');
				}
				
				// Fonction onClick pour agrandir 
				$this.prev('ul').find('a.agrandir').click(function () {
					changeSize($this, 1);
				});
				
				// Fonction onClick pour réduire 
				$this.prev('ul').find('a.reduire').click(function () {
					changeSize($this, -1);
				});
				
				// Styles des liens :
				$this.prev('ul').find('a').css('cursor', 'pointer');
				
				// Fonction qui modifie la taille du texte passé :
				function changeSize($obj, pas) {
					size = current_size;
					size += pas;
					if (size < 0) size = 0;
					if (size > settings.tailles.length)	size = settings.tailles.length;
					current_size = size;
					
					$obj.css('font-size', settings.tailles[size]);
					$obj.children().css('font-size', settings.tailles[size]);
				}
				
				// On ecrase la font par défaut... Ou pas !
				if (settings.ecraseFont)
					changeSize($this, 0);
			}
		)
	}
})( jQuery );
