/*
 * jTruncate ICANDOIT
 *
 */
 
(function($){

	$.fn.jTruncate_icdi = function(params) {
					
		/************************************************************
			Parameters
		************************************************************/
		params = $.extend({
			heightTruncate: '130',
			duration : 600,
			moreText : 'Lire la suite',
			lessText : 'Masquer'
		}, params);
		var selectorMain = $(this);
		
		
		
		// Check if use jTruncate
		if($(this).height() < params.heightTruncate) {
			return false;
		}


		
		/************************************************************
			Handle DOM
		************************************************************/
		selectorMain.css('position', 'relative');
		selectorMain.wrapInner('<div id="jTruncate_wrapper"><div id="jTruncate_text">');
		selectorMain.append('<a href="#" id="jTruncate_link" style="text-decoration: underline;"><span class="show_text">'+params.moreText+'</span></a>');


		
		/************************************************************
			CSS on tags jTruncate
		************************************************************/
		$('#jTruncate_wrapper').css({
			'height' : params.heightTruncate+'px',
			'position' : 'relative',
			'overflow' : 'hidden',
			'width' : '100%'
		});
		
		$('#jTruncate_text').css({
			'left' : '0',
			'position' : 'absolute',
			'top' : '0',
			'width' : '100%'
		});
	
		$('#jTruncate_link').css({
			'display' : 'block',
			'position' : 'absolute',
			'right' : '0',
			'text-align' : 'right',
			'width' : '100%'
		}).css('top', selectorMain.innerHeight() - $('#jTruncate_link').outerHeight(true)+'px');

		$('#jTruncate_link').find('span').css({
			'display' : 'block',
			'float' : 'right'
		});
		

		
		/************************************************************
			jTruncate
		************************************************************/		
		// Settings
		var heightTruncate = $("#jTruncate_wrapper").height();
		var heightLongText = $("#jTruncate_text").outerHeight(true) + $("#jTruncate_link").outerHeight(true);
		var textDefault = $("#jTruncate_link").html();
		var topjTruncateLinkDefault = $("#jTruncate_link").position().top;
		
		//alert(selectorMain.css('margin-bottom'));
				
		// Event Toggle
		$('#jTruncate_link').toggle(function() {
			$(this).find('span').html(params.lessText).attr('class', 'hide_text');						
			$('#jTruncate_wrapper').animate({
				height : heightLongText
			}, params.duration);
			$('#jTruncate_link').animate({
				top : $("#jTruncate_text").outerHeight(true)
			}, params.duration);			
			return false;
		}, function() {
			$(this).html(textDefault).css('bottom', '0');	
			$('#jTruncate_wrapper').animate({
				height : params.heightTruncate
			}, params.duration);
			$('#jTruncate_link').animate({
				top : topjTruncateLinkDefault+'px'
			}, params.duration);	
			return false;
		});
		

		
		// Chain jQuery
		return this;
	};
})(jQuery);
