function acordeonLibre(objetoAplegarDesplegar, objetoCambiarClase) {
    
    $(objetoAplegarDesplegar).click(function(){
        var siguieneteElementoAplegarDesplegar = $(this).next();
    
        if (siguieneteElementoAplegarDesplegar.is (':visible')) {
            siguieneteElementoAplegarDesplegar.hide();
            if($(this).hasClass(objetoCambiarClase)) {
                $(this).removeClass(objetoCambiarClase);
            }
        } else {
            siguieneteElementoAplegarDesplegar.fadeIn();
            if(!$(this).hasClass(objetoCambiarClase)) {
                $(this).addClass(objetoCambiarClase);
            }
        }
    
        if (objetoCambiarClase != null) {
    }
    });
}


/*
 * Función que plega y desplega un único elemento según su estado actual (oculto / visto)
 * 
 **/

function plegarDesplegar(objetoAplegarDesplegar, objetoCambiarClase) {
            
    if (objetoAplegarDesplegar.is (':visible')) {
        objetoAplegarDesplegar.hide();
    } else {
        objetoAplegarDesplegar.fadeIn();
    }
    
    if (objetoCambiarClase != null) {
        
}
            
}

/*
 * Fucnión que plega todos los elementos de un grupo excepto el seleccionado. 
 * Al hacer click sobre otro elemento del grupo el actual se cerrará
 *
 **/

function witaccordion(identificadorAcordion, classeCssParaOpcionAbierta) {
                    
    $(identificadorAcordion).click(function(){
                              
        console.log($(identificadorAcordion).next());
                              
        var elementsToTogle = $(identificadorAcordion).next();
        var thisElement = $(this);
        var nextElement = $(this).next(); 
        
        elementsToTogle.removeClass(classeCssParaOpcionAbierta);
        thisElement.addClass(classeCssParaOpcionAbierta);
        
        $.each(elementsToTogle, function(index, value) {
            
            if($(this) !== nextElement) {
                $(this).hide();
            } else {
                console.log('son el mismo');
            }
                        
        });
        
        plegarDesplegar(nextElement);
    
    }).next().hide();
    return false;
                
}
