// JavaScript Document
/*********** crunch                    ***********************************************/
/*********** Version 1.0               ***********************************************/
/*********** Author Yoann Phung Van    ***********************************************/
/*********** crunch du texte et ajoute trois petits point ****************************/

/* exemple d'utilisation
$(document).ready(function(){
		$("").crunch({
			class_name : "div.crunch",
			numChar : 100
		});
});
*/

jQuery.fn.crunch = function(o,url) {
	
	// Parametres par defaut
	var settings = jQuery.extend({
		class_name : "div.crunch",
		numChar : 100
	}, o);
	
	crunch();
	
	function crunch(){
		var tabWords = new Array();
		var length_text = 0;
		var original_text = "";
		var new_text = "";
		var selection = $(settings.class_name);
		if(!selection ){return;}
		selection.each(function(i){
		   //on supprime les balises html
		   original_text = stripHTML($(this).html());
		   new_text = "";
		   // on regarde si la longueur du texte est superieur a la longueur max - 3 pour les petites points
		   if (original_text.length > settings.numChar-3) {
			   new_text = original_text.substring(0,settings.numChar);
			   tabWords = new_text.split(" ");
			   length_text = tabWords.length-1;
			   new_text = "";
			   //On supprime le dernier mot coupe
			   for(var i=0;i<length_text;i++){
				   if(i!=0){
					  new_text += " ";
				   }
				   new_text += tabWords[i];
			   }
			   //On supprime la derniere ponctuation
			   if(new_text.charAt(new_text.length-1)=="?" || new_text.charAt(new_text.length-1)=="!" || new_text.charAt(new_text.length-1)=="." || new_text.charAt(new_text.length-1)=="," || new_text.charAt(new_text.length-1)==";"){
				   new_text = new_text.substring(0, new_text.length-1);
			   }
			   new_text = new_text + "...";
			   $(this).html(new_text);
		   }
		});
	}
	
	function stripHTML(str){
		return str.replace(/<\/?[^>]+(>|$)/g, "");
	}
};
