function showTab(e) {
    var activeLink = e.target;
    var jTabTitle = $(activeLink);
    var href = jTabTitle.attr("href");
    var tabId = href.substring(href.lastIndexOf("#"),href.length);
    var jTabContent = $(tabId);

    //Affiche le contenus de l'onglet et masque les autres
    jTabContent.parent().find(">div").hide();
    jTabContent.show();

    //Active le titre de l'onglet et désactive les autres
    jTabTitle.parent().parent().find("a").removeClass("tab_active");
    jTabTitle.addClass("tab_active");
    
    //Si c'est un onglet AJAX et qu'il n'a pas encore été chargé
    if(jTabTitle.attr("rel") && jTabContent.html().length == 0) {
        setTimeout(function() {
            loadTabContent(tabId,jTabTitle.attr("rel"));
        },100);
    } else {
        //Initialise les éventuel
        initSlider();
    }
    
    e.preventDefault()  ;
    return false ;
}

function reloadTabContent(link,addr) {
    var currentNode = link;
    
    while(currentNode.parentNode) {
        if(currentNode.className && $(currentNode).is(".tab_content")) {
            loadTabContent("#" + currentNode.id,addr);
            break;
        }
        
        currentNode = currentNode.parentNode;
    }
}

function loadTabContent(tabId,addr) {
    if(!$(tabId).is(".tab_load")) {
	    //Ajout de la class de loading
	    $(tabId).addClass("tab_load");
	    $(tabId).html("&nbsp;");

	    //Envoie de la requête HTTP
	    $.get(addr, function(data){
	        //Suppression du message de chargement
	        $(tabId).removeClass("tab_load");

	        //Ajout du contenu
	        $(tabId).html(data);

            //Initialise les composants
	        initComponents();
	    });
	}
}

function initTabs() {
    var list,tabLink,i,activeTabId;
    
    $("ul.tab_menu_section a[@href]").filter(":not(.tab_initialize)").each(function(){
        $(this).click(function(e){
            showTab(e);
            return false;
        }).addClass("tab_initialize");
    });
}

function ajaxDeleteAndReloadTab(obj,urlDelete,urlReload) {
    //Store for anonymous function
    var obj = obj;
    var urlDelete = urlDelete;
    var urlReload = urlReload;
    
    confirmCss(removeUserConfirm,function() {
        //Delay the processing
        setTimeout(function() {
            //Show layout
    loadingLayout.show();

            //Send ajax request
            $.get(urlDelete,function(response) {
                //Store for anonymous function
                var response = response;
                
                //Hide layout and reload tabs
            loadingLayout.hide();
            reloadTabContent(obj,urlReload);
                
                //Delay the display message
                setTimeout(function(){
                    processXmlHttpResponse(response);
                },1000);
            });
        },1000);
    });
}

function activeTab(tabId) {
    $("a[@href*=" + tabId + "]").click();
}

function removeTab(tabId) {
    var jTabTitle = $("a[@href*=" + tabId + "]");

    if(!jTabTitle.is(".tab_default")) {
        //Active le tab par défaut
        jTabTitle.parents("ul:first").find("a.tab_default:first").click();

        //Masque l'onglet et le supprime du DOM
        jTabTitle.unbind("click").parent("li").hide("slow",function(){
            $(this).remove();
        });

        //Supprime le contenu du DOM
        $("#" + tabId).remove();
    }
}

function getTabsRelContext(element) {
    return $(element).parents("div[@rel]:first").attr("rel");
}

function getTabContext(element) {
    return $(element).parents("div.tab_content:first").attr("id");
}

//Initialize
$(document).ready(function(){
    initTabs();
});

