
function ready(js) {
	slideMenu.init();
	
	if (js) $('a[rel=external]').newWindow();
	
};

var slideMenu = {
    
   init: function() {
        var self = this;    
        $('#chrome-bar').append('<div class="show-slide-menu">more clients</div><div class="hide-slide-menu" style="z-index: 32767;">hide clients</div>');
    
        $('#clients-menu').append('<div class="scroll-up scroll">up</div><div class="scroll-down scroll">down</div>');
    
        $('.scroll-up').hide();
    
        var $slideMenu = $('#clients-menu');
        
        var $slideMenuList = $slideMenu.find('ul:first');
        
      
        
        $('.show-slide-menu').click(function() {
			self.show();
        });
            
        var groupsOf = 15;
        
        
        
        $slideMenuList.wrap('<div class="slide-menu-cont"></div>');
        
        $slideMenuCont = $('.slide-menu-cont');
        
        var distanceToScroll = groupsOf *  $slideMenuList.find('li:first').height();
        
		//$.log('height of first list item=' + $slideMenuList.find('li:first').height());
		
        $slideMenuCont.height(distanceToScroll);
        

        var doScroll = true;
        
        var scrollCount = 0;
        
        $slideMenu.find('.scroll-up').click(function() {
        
            // don't want to double fire this event or it'll slip into non existence
            
            if ( ! doScroll) return;
            
            doScroll = false;
            
            $slideMenuList.animate({
                top: '+=' + distanceToScroll
            }, 500, function(){
                doScroll = true;
            });
            
            $('.scroll-down').fadeIn(500).attr({ disabled: false });
            scrollCount--;
            
            
            
            if ($slideMenuList.position().top >= -1 * distanceToScroll) {
            
                $('.scroll-up').attr({
                    disabled: true
                }).fadeOut(500);
                
            }
            else {
                $('.scroll-up').attr({ disabled: false }).fadeIn(500);
                
                
            }
        
        });
        
        
        
        $slideMenu.find('.scroll-down').click(function() {
            
                       // don\'t want to double fire this event or it\'ll slip into non existence (the single quoted was confusing Coda (IDE);
            
            if (doScroll) {
                doScroll = false;
                $slideMenuList.animate({
                    top: '-=' + distanceToScroll
                }, 500, function(){
                    doScroll = true;
                });
                $('.scroll-up').fadeIn(500).attr({ disabled: false });
                scrollCount++;
                
                
                if ((scrollCount + 1) * $slideMenuCont.height() > $slideMenuList.height()) {
                
                    $('.scroll-down').attr({
                        disabled: true
                    }).fadeOut(500);
                    
                }
                else {
                    $('.scroll-down').fadeIn(500).attr({ disabled: false });
                    
                    
                }
                
            }
        });
        
        
         $('.hide-slide-menu').click(function() {
            
            self.hide();

            
         });
    
       // $slideMenuList.find('li:first').addClass('active');
    
        $slideMenuList.find('li a').click(function(event) {
            event.preventDefault();
            
            $('#opening-text').slideUp(500);
            
            $(this).parents('ul').find('li.active').removeClass('active');
            
            var linkParts = $(this).attr('href').split('/');                                       
	        var clientName = linkParts[linkParts.length - 2]; 
            
            $(this).parent('li').addClass('active');

            self.showClient(clientName);
            
            
        
        });
        
    
    },
    
    show: function() {
    
        $('#clients-menu').animate( {right: 0 } , 1000);
        $('.hide-slide-menu').fadeIn(500);
        $('.show-slide-menu').fadeOut(250);
    
    },
    
    hide: function() {
        
       $('#clients-menu').animate({right: '-250px' } , 1000);
        $('.hide-slide-menu').fadeOut(500);
        $('.folio-more, .folio-back, .show-slide-menu').fadeIn(200);

    },
    
    showClient: function(name) {
        //Acura.loadingModal.show();
        
        
        
        $.getJSON(config.basePath + 'client-info/' + name + '/',
        function(data){
            
            var previewImage = new Image();
            
            $(previewImage).load(function() {
            
                 if (data.bar) {
                    if ( ! $('#banner').exists()) {
                        $('#client-info-box').append('<div id="banner"></div>');
                    }
                    
                    $('#banner')
                        .html(data.bar.title)
                        .removeClass()
                        .addClass(data.bar['class'])
                        .fadeIn(250);
                    
                } else {
                    
                    $('#banner').fadeOut(250);
                }
                
                
                 
            
               $('#client-info-box img').attr( { src: previewImage.src  } );
                
            
            
            
            });
            
            if (data.image) {
                previewImage.src = config.basePath + data.image
            }
            
            if (data.siteURL) {            
                $('#site-link').show().attr({ href: data.siteURL, title: '' });            
            }  else {
                $('#site-link').hide();
            }
            
            $('#info h3').html(data.title);
            
            $('#info div').html(data.description);
            
           
        
        });

        

        //loaderModal.hide();    
    
    }

}
