var fl = {
   
    about_banner_cycle: function(){
        
        //get random number in range
        var random_number = Math.floor(Math.random() * ($('.fl_quote_container').length - 1));
        
        //show random quote/logo on page load
        $('.fl_quote_container').eq(random_number).show();
        
    },
    
    products_banner_cycle: function(){
        
        //number of items to cycle through
        var total = $('.fl_products_banner').length - 1;
        
        //get random number in range
        var random_number = Math.floor(Math.random() * total);
        
        //show random quote/logo on page load
        show_banner();
        
        //prev next buttons
        $('.fl_products_banner_control_next').click(function(){
            if (random_number == total){
                random_number = 0;
            } else {
                random_number++;
            }
            show_banner();
        });
        
        $('.fl_products_banner_control_prev').click(function(){
            if (random_number == 0){
                random_number = total;
            } else {
                random_number--;
            }
            show_banner();
        });
        
        //numbers
        $('#fl_products_banner_control_numbers a').click(function(){
            //extract number
            random_number = $(this).text() - 1;
            show_banner();
            return false;
        });
        
        function show_banner() {
            $('#fl_products_banner_control_numbers a')
            .css('backgroundPosition', '0 -26px')
            .eq(random_number)
            .css('backgroundPosition', '0 0');
            $('.fl_products_banner').hide();
            $('.fl_products_banner').eq(random_number).show(); 
        }
        
    },
    
    products_hub_links: function(){
        //get page width
        var pageWidth = $('.fl_products_page').width(),
        $boxGroup = $('.fl_products_page .link_boxes');
        $box = $boxGroup.children('li');
        if (typeof(fl_product_cols) != 'undefined'){
            var set_col_count = fl_product_cols;
        } else {
            set_col_count = 3;
        }
        $boxGroup.unbind('resize_complete');
        $boxGroup.bind('resize_complete', function(){
            $box.each(function(i){
                i++;
                if (i%set_col_count == 0){
                    var $siblings = $(this).parent().children(),
                    current_index = i-1,
                    row_start = i-set_col_count,
                    $object_array = new Array,
                    max = 0;
                    $siblings.each(function(j){
                        if (j >= row_start && j <= current_index){
                            $object_array.push($siblings[j]);
                        }
                    });
                    for(var k = 0, n = $object_array.length;  k < n;  ++k) {
                        max = Math.max(max, $($object_array[k]).height());
                    }
                    $($object_array).height(max).find('.link_box_shim').height(max);
                }
            });
        });
        $boxGroup.each(function(){
            
            boxPadding = 0;
            boxMargin = 0;
            
            $box.each(function(i){
                
                i++;
                if (i%set_col_count == 0){
                    $(this).addClass('fl_end');
                }
                if (i <= set_col_count){
                    boxPadding += (parseInt($(this).css('paddingLeft')) + parseInt($(this).css('paddingRight')));
                    boxMargin += (!isNaN(($(this).css('marginLeft'))) ? parseInt($(this).css('marginLeft')) : 0 ) + (!isNaN(parseInt($(this).css('marginRight'))) ? parseInt($(this).css('marginRight')) : 0 );
                }
                
            });
            var boxWidth = (pageWidth/set_col_count) - (boxPadding/set_col_count) - (boxMargin/set_col_count);
            $box.width(boxWidth);            
        }).trigger('resize_complete');
    },
    
    markets_banner_cycle: function(){
        
        //number of items to cycle through
        var total = $('#fl_market_sectors > li').length - 1;
        
        //get random number in range
        var random_number = Math.floor(Math.random() * total);
        
        //show random quote/logo on page load
        show_banner();
        
        //buttons
        $('#fl_markets_banner_control_numbers a').click(function(){
            //extract id
            random_number = $(this).attr('rel');
            show_banner();
            return false;
        });
        
        //prev next buttons
        $('.fl_markets_banner_control_next').click(function(){
            if (random_number == total){
                random_number = 0;
            } else {
                random_number++;
            }
            show_banner();
        });
        
        $('.fl_markets_banner_control_prev').click(function(){
            if (random_number == 0){
                random_number = total;
            } else {
                random_number--;
            }
            show_banner();
        });
        
        function show_banner() {
            $('#fl_markets_banner_control_numbers a')
            .css('backgroundPosition', '0 -28px')
            .eq(random_number)
            .css('backgroundPosition', '0 0');
            $('#fl_market_sectors > li').hide();
            $('#fl_market_sectors > li').eq(random_number).show(); 
        }
        
    },
    community_banner_cycle: function(){
        
        //number of items to cycle through
        var total = $('#fl_community_tabs > div').length - 1;
        
        //get random number in range
        var random_number = Math.floor(Math.random() * total);
        
        //show random quote/logo on page load
        show_banner();
        
        //buttons/qh changes mouse click to hover
        $('#fl_community_tab_controller a').hover(function(){
            //extract id
            random_number = $(this).attr('rel');
            show_banner();
            return false;
        });
        
        function show_banner() {
            $('#fl_community_tab_controller a')
            .css('backgroundPosition', '0 -35px')
            .eq(random_number)
            .css('backgroundPosition', '0 0');
            $('#fl_community_tabs > div').hide();
            $('#fl_community_tabs > div').eq(random_number).show(); 
        }
        
    }
    
}
$('html').addClass('has_js');
$(function(){
    $('#fl_case_studies li:last-child').addClass('fl_last');
    fl.about_banner_cycle();
    fl.products_banner_cycle();
    fl.products_hub_links();
    fl.markets_banner_cycle();
    fl.community_banner_cycle();
    
    $('.fl_community_info_box').hover(
        function(){
            $(this).addClass('fl_hover');
        },
        function(){
            $(this).removeClass('fl_hover');
        }
    );
        
    $('.fl_community_info_box').click(function(){
        var link_href = $(this).find('a').attr('href');
        var target = $(this).find('a').attr('target');
        if (target == '_blank'){
            window.open(link_href);
            return false
        } else {
            document.location = link_href;
            return false
        }
    });
    
    
});
var winWidth = $(window).width(),
winHeight = $(window).height();
$(window).bind('resize', function(){
    
    //New height and width
    var winNewWidth = $(window).width(),
    winNewHeight = $(window).height();
    // compare the new height and width with old one
    if(winWidth!=winNewWidth || winHeight!=winNewHeight)
    {
        //set auto height if page is resized and height changes
        $('.link_boxes li').height('auto');
        fl.products_hub_links();
    }
    //Update the width and height
    winWidth = winNewWidth;
    winHeight = winNewHeight;
});
$(window).load(function(){
    $('#community-tabs-nav li:last').addClass('fl_last');
});
