$(document).ready(function() {
    if($('#logo_rotator')){
        $('#logo_rotator').logoRotator();
    }
});


$.fn.logoRotator = function() {
    var times = {
        showLogo:       450,     
        highlightLogo:  500,  
        hideLine:       7000,
        hideLogo:       100,   
        lowlightLogo:   450, 
        changeLine:     2000,
        animateOpacity: 200,
        animateMoveLogo:800
        
    };
    var $this;
    var iLine;
    var countLines;
    var lines;
    //var opts = $.extend(defaults, options);
    return this.each(function() {
        $this = $(this);
        lines = $this.find('div.line');
        iLine = 0;
        if(lines.length){
            slideLine();
        }
    });
    
    function slideLine(){
        var line = lines[iLine];           
        showLine(line); 
        setTimeout(function() { hideLine(line); }, times.hideLine);  
        ++iLine;
        if(iLine>=lines.length){
            iLine = 0;
        }       
    }
    function showLine(line){
        $(line).find('div').css({left: -300, opacity: 0.5});
        $(line).css('display', 'block');
        $(line).find('div').each(function(i){
            var logo = this;
            var delay = i*times.showLogo;
            setTimeout(function() { showLogo(logo); }, delay);
            var delay2 =  times.highlightLogo+delay;
            setTimeout(function() { highlightLogo(logo); }, delay2);       
        });   
    }
    function showLogo(logo){    
        $(logo).animate({left: 0}, times.animateMoveLogo);   
                 
    }
    function hideLogo(logo){   
        //$(logo).animate({left: 300}, times.animateMoveLogo);
                        
    }
    function highlightLogo(logo){
         $(logo).animate({opacity: 1}, times.animateOpacity);
    }
    function lowlightLogo(logo){
         $(logo).animate({opacity: 0}, times.animateOpacity);
    }
    function hideLine(line){
        $(line).find('div').each(function(i){
            var logo = this;
            var delay = i*times.lowlightLogo;
            setTimeout(function() { lowlightLogo(logo); }, delay);
            var delay2 =  times.hideLogo+delay;
            setTimeout(function() { hideLogo(logo); }, delay2);
        }); 
        setTimeout(function() {
            $(line).css('display', 'none'); 
            slideLine();
        }, times.changeLine);
    }
};
