/**
 * simpleTabs ( http://supercanard.phpnet.org/jquery-test/simpleTabs/ )
 * plugin jQuery pour afficher des bôites d'onglet.
 * 
 * Version 1.0
 *
 * Auteur : Jonathan Coulet ( j.coulet@gmail.com )
 * 
 **/
(function($){
	$.fn.simpleTabs = function(option){
		// Param plugin
		var param = jQuery.extend({
			fadeSpeed: "medium", // @param : low, medium, fast
			defautContent: 1, // @param : number ( simpleTabs-nav-number)
			autoNav: "false", // @param : true or false
			closeTabs : "true", // @param : true or false;
			prevnext : "true" // @param : true or false;
		}, option);
		var currentIndex;
		var maxIndex = 0;
		$(this).each(function() {
			// Initialisation
			var $this = this;
			var $thisId = "#"+this.id;
			var nbTab = $($thisId+" > div").size();
			maxIndex = nbTab-1;
			autoNav();
			showCloseTabs();
			hideAll();
			changeContent(param.defautContent);
			// Fonctions
			function hideAll(){
				// Masque tous les content
				$($thisId+" .simpleTabs-content").hide();
			}
			function changeContent(index){
				// Masque tous les content - Supprime la classe active de tous les onglets 
				// Ajoute la classe active à l'onglet cliqué - Affiche le content ciblé - Execute showCloseTabs
				hideAll();
				$($thisId+" .simpleTabs-nav li").removeClass("active");
				$($thisId+" #simpleTabs-nav-"+index).addClass("active");
				$($thisId+" #simpleTabs-content-"+index).fadeIn(param.fadeSpeed);
				showCloseTabs();
				currentIndex = parseInt(index);
				setPrev(currentIndex);
				setNext(currentIndex);
			}
			function autoNav(){
				// Génère les onglets automatiquement
				if(param.autoNav == "true"){
					var listNav = '';
					for(i=1; i!=nbTab; i++){
						listNav = listNav+'<li id="simpleTabs-nav-'+i+'">'+i+'</li>';
					}
					$($thisId+" .simpleTabs-nav").append('<ul>'+listNav+'</ul>');
				}
			}
			function showCloseTabs(){
				// Génére un bouton de fermeture générale des content
				if(param.closeTabs == "true"){
					if($($thisId+" .simpleTabs-nav li.close").size() == 0){
						$($thisId+" .simpleTabs-nav ul").append("<li title=\"Fermer tous les onglets\" class=\"close\">x</li>");
					}
				}
			}
			function setPrev(index){
				// Génére un bouton de fermeture générale des content
				if(param.prevnext == "true"){
					if(index > 1){
						$($thisId+" #simpleTabs-prev").css('visibility','visible');
					}
					else{
						$($thisId+" #simpleTabs-prev").css('visibility','hidden');
					}	
				}
			}
			function setNext(index){
				// Génére un bouton de fermeture générale des content
				if(param.prevnext == "true"){
					if(index < maxIndex){
						$($thisId+" #simpleTabs-next").css('visibility','visible');
					}
					else{
						$($thisId+" #simpleTabs-next").css('visibility','hidden');
					}	
				}
			}
			// Exec
			$($thisId+" .simpleTabs-nav li.sT-nav").click(function(){
				var numContent = this.id.substr(this.id.length-1,this.id.length);
				changeContent(numContent);
			});
			$($thisId+" .simpleTabs-nav li#simpleTabs-prev").click(function(){
				var numContent = currentIndex-1;
				changeContent(numContent);
			});
			$($thisId+" .simpleTabs-nav li#simpleTabs-next").click(function(){
				var numContent = currentIndex+1;
				changeContent(numContent);
			});
			// test function closeTabs
			$($thisId+" .simpleTabs-nav li.close").click(function(){
				hideAll();
				$($thisId+" .simpleTabs-nav li").removeClass("active");
				$($thisId+" .simpleTabs-nav li.close").remove();
				//alert($($thisId+" .simpleTabs-nav li.close").size());
			});
		});
	}
})(jQuery);
