
    var last=0;
    var maxVideos=0;
    var maxOpinions=0;
    var maxLogos=0;
    var maxLogosImages=0;
    var maxNumberOfLogos=3;
    var checkTopicbars=50; //IDs to check
    var checkLogos=150; //IDs to check
    var randomLoop=20; //Try to get random results more secure
    //var custID="";    
    var branchID="";   
    
    function callTopicbar(branchIDin)
    {
        branchID=branchIDin;
        setTimeout("randomTopicbar()",500);       
        setTimeout("checkTopicbar()",1500);   
    }
    
    function checkTopicbar()
    {
        if (maxVideos==0 && maxOpinions==0 &&  maxLogos==0 && maxLogosImages==0)
            randomTopicbar();
    }
    
    
/*---------------------------------------------------------------------------
/      Main - calls for videos, opinions and logos
/---------------------------------------------------------------------------*/
    function randomTopicbar() 
    {       
        var ret=false;
        //----------- hide if less then 3 logos
        maxLogosImages=0;
        for (i=0;i<checkLogos;i++)
        {
            if (document.getElementById("tblogos_images_"+i))
            {
                if (getLogoBranch(i,"tblogos_images_"))
                {                       
                    maxLogosImages=maxLogosImages+1;
                }
            }
        }      
        if (maxLogosImages>=3)
        {
             if (document.getElementById("aktuelles"))
                document.getElementById("aktuelles").style.display="none";  
            if (document.getElementById("tb_erp_video"))
                document.getElementById("tb_erp_video").style.display="none";  
            
            //custID="";
            //----------- show Video
            var tag ="tbvideos";
            if (maxVideos==0)
                for (i=0;i<checkTopicbars;i++)            
                {   
                    if (document.getElementById(tag+i))
                    {                    
                        maxVideos=maxVideos+1;
                    }
                }       
            if (maxVideos!=0)
                ret=generateTopicbar(branchID,tag,maxVideos);
            if (document.getElementById("tb_erp_video"))
                document.getElementById("tb_erp_video").style.display="block";  
                
                
            //----------- show Opinion
            tag ="tbopinions";
            if (maxOpinions==0)
                for (i=0;i<checkTopicbars;i++)
                {
                    if (document.getElementById(tag+i))
                        maxOpinions=maxOpinions+1;
                }       
                
            if (maxOpinions!=0)
                ret=generateTopicbar(branchID,tag,maxOpinions);
            
           
            
            //----------- show Logo images       
            tag ="tblogos_images_";
            maxLogosImages=0;
                for (i=0;i<checkLogos;i++)
                {
                    if (document.getElementById(tag+i))
                        maxLogosImages=maxLogosImages+1;
                }       
                
            if (maxLogosImages!=0)
                showLogos(tag,maxLogosImages);
          
          
          if (document.getElementById("references_top_image"))
            document.getElementById("references_top_image").style.display="block";  
          if (document.getElementById("headline_references"))
            document.getElementById("headline_references").style.display="block";  
        }    
        else
        {
            hideAll("tbopinions");
            hideAll("tbvideos");
            for (var i=0;i<checkLogos;i++) //hide old
            {
                if (document.getElementById("tblogos_images_"+i))
                    document.getElementById("tblogos_images_"+i).style.display="none";           
            }   
            if (document.getElementById("headline_references"))
                document.getElementById("headline_references").style.display="none"; 
            if (document.getElementById("references_top_image"))
                document.getElementById("references_top_image").style.display="none";              
            if (document.getElementById("aktuelles"))
                document.getElementById("aktuelles").style.display="block";  
        }
    }
    
    
/*---------------------------------------------------------------------------
/      check if branche is active
/---------------------------------------------------------------------------*/
    function checkBranche(last,branchID,tag) 
    {   
        var topicbarB;
        var arrtopicbarB;
        var branchen;
        
        if (document.getElementById(tag+'B'+last))
        {
            //alert(tag+'B'+last);
            topicbarB=document.getElementById(tag+'B'+last).innerHTML;
            arrtopicbarB = topicbarB.split(",");
            //alert(branchID+"@"+topicbarB);
            for (var j = 0; j < arrtopicbarB.length; j++)
            {
                branchen=trim(arrtopicbarB[j]);
                if (branchen==branchID || branchID=="all")
                    return true;
            }
        }        
        return false;
    }  
/*---------------------------------------------------------------------------
/      gets the customerID
/---------------------------------------------------------------------------*/
    /*function getCustomer(last,tag) 
    {   
        var topicbarB;
        var arrtopicbarB;
        var customer;
        
        if (document.getElementById(tag+'C'+last))
        {
            topicbarB=document.getElementById(tag+'C'+last).innerHTML;
            arrtopicbarB = topicbarB.split(",");
            
            for (var j = 0; j < arrtopicbarB.length; j++)
            {
                customer=trim(arrtopicbarB[j]);
                return customer;
            }
        }        
        return "";
    }  */
    
/*---------------------------------------------------------------------------
/      checks if the customer is the same as before
/---------------------------------------------------------------------------*/
    /*function checkCustomer(last,custID,tag) 
    {   
        if (getCustomer(last,tag) == custID)
            return true;
        else 
            return false;
    }  */
    
/*---------------------------------------------------------------------------
/      hides all topicbars from the same kind
/---------------------------------------------------------------------------*/
    function hideAll(tag) 
    {   
        for (i=0;i<checkTopicbars;i++) //hide old
        {
            try{
                document.getElementById(tag+i).style.display="none";
            }catch (err){}    
        }    
    }  
    
/*---------------------------------------------------------------------------
/      decides what will be shown
/---------------------------------------------------------------------------*/                    
    function generateTopicbar(branchID,tag,maxValue)
    {            
        var topicbar_found=false;
        hideAll(tag) ;
        
        try
        {
        
            for (i=1;i<randomLoop;i++)  //Try to get random results more secure
            {
                last=getRandom(0,maxValue-1); //new value
                if (branchID!=0)
                {                  
                    //check branche
                    if (checkBranche(last,branchID,tag)==false)
                        last=999;//do not use
                }   

                    //if customer is already set: check it!
                    //if (custID!="" && checkCustomer(last,custID,tag)==false)
                    //    last=999;//do not use                    
               
                if (document.getElementById(tag+last))
                {
                    topicbar_found=true;
                    //custID=getCustomer(last,tag);
                    document.getElementById(tag+last).style.display="block";  
                    i=999;//abort loop
                }
            }
                
            
        }
        catch (err)
        {
            //alert(err);
        }    

        return topicbar_found;
    }

/*---------------------------------------------------------------------------
/      gets the logos branchID
/---------------------------------------------------------------------------*/
    function getLogoBranch(last,tag) 
    {   
        var topicbarB;
        var arrtopicbarB;
        var customer;
        
        if (document.getElementById(tag+'Branche_'+last))
        {
            topicbarB=document.getElementById(tag+'Branche_'+last).innerHTML;
			topicbarB = trim(topicbarB);            
            arrtopicbarB = topicbarB.split(",");
            for (var j = 0; j < arrtopicbarB.length; j++)
            {
                customer=trim(arrtopicbarB[j]);
				if (customer== branchID || branchID=="all")
					return true;
            }
        }        
        return "";
    }  
    
/*---------------------------------------------------------------------------
/      checks the logos branchID
/---------------------------------------------------------------------------*/
    function checkLogoBranch(last,tag) 
    {   
        if (getLogoBranch(last,tag) )
            return true;
        else 
            return false;
    }      
    
/*---------------------------------------------------------------------------
/      hides old logos and shows  maxNumberOfLogos  random new ones
/---------------------------------------------------------------------------*/
    function showLogos(tag,maxValue ) 
    {
        var show_counter=0;
        var buffer="";
        var bufferIMG="";
        var found=false;
        var arrused;
        for (var i=0;i<checkLogos;i++) //hide old
        {
            if (document.getElementById("tblogos_images_"+i))
                document.getElementById("tblogos_images_"+i).style.display="none";           
        }   

        for (var j=0;j<100;j++)  //Try to get random results more secure
        {          
            found=false;
            last=getRandom(0,checkLogos); //new value
            
             if (checkLogoBranch(last,tag)==false)
                last=999;//do not use
            
            if (document.getElementById(tag+last))
            {
                try{
                    arrused = buffer.split(",");            
                    for (var k = 0; k < arrused.length; k++)
                    {
                        if (trim(arrused[k])==last)
                            found=true;
                    }
                }catch(err){}
                
                try{
                    arrused = bufferIMG.split("|");            
                    for (var k = 0; k < arrused.length; k++)
                    {
                        if (trim(arrused[k])==document.getElementById("tblogos_images_img_"+last).src)
                        {
                            found=true;
                        }
                    }
                }catch(err){}
                
                
                if (found==false)
                {
                    if (document.getElementById("tblogos_images_img_"+last))
                    bufferIMG+=document.getElementById("tblogos_images_img_"+last).src+"|";
                    document.getElementById(tag+last).style.display="block";  
                    buffer=buffer+last+",";                    
                    show_counter++;
                }
                
            }
            
            if (show_counter>=maxNumberOfLogos)
            {   
               return true; //abort
            }
        }  
        
        
        if (show_counter<maxNumberOfLogos )
            for (var j=0;j<checkLogos;j++)  //Try to get random results more secure
            {
                found=false;
                last=j; //new value
                
                if (checkLogoBranch(last,tag)==false)
                    last=999;//do not use
                
                if (document.getElementById(tag+last))
                {
                    try{
                        arrused = buffer.split(",");            
                        for (var k = 0; k < arrused.length; k++)
                        {
                            if (trim(arrused[k])==last)
                                found=true;
                        }
                    }catch(err){}
                    
                     try{
                        arrused = bufferIMG.split("|");            
                        for (var k = 0; k < arrused.length; k++)
                        {
                            if (trim(arrused[k])==document.getElementById("tblogos_images_img_"+last).src)
                            {
                                found=true;
                            }
                        }
                    }catch(err){}
                    
                    
                    if (found==false)
                    {                    
                        if (document.getElementById("tblogos_images_img_"+last))
                        bufferIMG+=document.getElementById("tblogos_images_img_"+last).src+"|";
                        buffer=buffer+last+",";     
                        document.getElementById(tag+last).style.display="block";                          
                        show_counter++;
                    }
                    
                }
                
                if (show_counter>=maxNumberOfLogos)
                   return true; //abort
            }
            
    }
    
    
/*---------------------------------------------------------------------------
/      generates a random number
/---------------------------------------------------------------------------*/
    function getRandom( min, max ) 
    {
        if( min > max ) 
        {
            return( -1 );
        }
        if( min == max ) 
        {
            return( min );
        }
        return( min + parseInt( Math.random() * ( max-min+1 ) ) );
    }
