var flapList = {
    current_item_id: null,
    list_type: 1, // 0 - nur eins Item zeigen; 1 - alle Items zeigen
    elementsId: new Array(),
    highLightColor: "#e9eff7",
    defaultColor: "#fff",
    iconPlusClassName: "plus",
    iconMinusClassName: "minus",
    
    initQuestion: function(id){
        var obj = d_obj(id);
        if (obj != null){
          
          flapList.elementsId[flapList.elementsId.length] = id;
          
          var obj_a = d_obj(id+'_a');
          if (obj_a != null) {
            
            obj_a.style.display = 'none';
            //toggleIcon(id+'_ti');
            
            flapList.addEvent(obj,'click',  function() {
                 flapList.onClickQuestion(id);
            });
            
          }  
          flapList.addEvent(obj,'mouseover', function() { flapList.setSelectedQuestion(obj); });
          flapList.addEvent(obj,'mouseout',  function() { flapList.resetSelectedQuestion(obj); });
        }
    },
    onClickQuestion: function (id){
        if ((flapList.current_item_id != null) && (flapList.current_item_id != id) && (flapList.list_type == 0)) {
          flapList.toggleAnswer(flapList.current_item_id+'_a');
          flapList.toggleIcon(flapList.current_item_id+'_ti'); 
        }
        flapList.toggleAnswer(id+'_a');
        flapList.toggleIcon(id+'_ti'); 
        
        if (flapList.current_item_id != id) flapList.current_item_id = id; else flapList.current_item_id = null;
    },
    setSelectedQuestion: function(obj){
        obj.style.background = flapList.highLightColor;
    },
    resetSelectedQuestion: function(obj){
        obj.style.background = flapList.defaultColor;
    },
    toggleAnswer: function(id){
        //Effect.BlindDown(id);
        if (d_style(id).display == 'none') Effect.BlindDown(id, { duration: 0.2 });
        else Effect.BlindUp(id, { duration: 0.2 });;
    },
    toggleIcon: function(id){
        if ((d_obj(id)!= null)) {
          if (d_obj(id).className == flapList.iconPlusClassName)  d_obj(id).className = flapList.iconMinusClassName;
          else d_obj(id).className = flapList.iconPlusClassName;
        }
    },
    closeAll: function(){
      if (flapList.list_type == 1) {
        for(var i=0; i<flapList.elementsId.length; i++){
            
            var id = flapList.elementsId[i];
            var id_a  = id + '_a';
            var id_ti = id + '_ti';
            
            if (d_obj(id_a)){
                if (d_style(id_a).display != 'none') flapList.toggleAnswer(id_a);
            }
           
            if (d_obj(id_ti)){
                if (d_obj(id_ti).className == flapList.iconMinusClassName) flapList.toggleIcon(id_ti);
            }
        }
      }  
    },
    
    openAll: function(){
      if (flapList.list_type == 1) {
        for(var i=0; i<flapList.elementsId.length; i++){
            
            var id = flapList.elementsId[i];
            var id_a  = id + '_a';
            var id_ti = id + '_ti';
            
            if (d_obj(id_a)){
                if (d_style(id_a).display == 'none') flapList.toggleAnswer(id_a);
            }
           
            if (d_obj(id_ti)){
                if (d_obj(id_ti).className == flapList.iconPlusClassName) flapList.toggleIcon(id_ti);
            }
        }
      }  
    },
    
    addEvent: function(obj, type, fn ){  // the add event function
        if (obj.addEventListener) obj.addEventListener( type, fn, false );
        else if (obj.attachEvent) {
          obj["e"+type+fn] = fn;
          obj[type+fn] = function() {
                obj["e"+type+fn]( window.event );
            };
          obj.attachEvent( "on"+type, obj[type+fn] );
        }
    }
}
