/**
 * Simple Drawer - jQuery plugin
 *
 * @author Aurimas Tubis a.k.a Okanakis <aurimas@kryptis.lt>
 *
 * Built for jQuery library
 * http://jquery.com
 */

(function($) {
    
	$.fn.simpleDrawer = function(settings){
		// default|available configuration properties
		var defaults = {			
			minWidth: 		 0,
			maxWidth: 		 0,	
            itemSelector:    '.drawer_item',
			handlerSelector: '.handler',
			contentSelector: '.content',
			speed: 			 500
		}; 

		var settings = $.extend(defaults, settings);
        
        var currentIndex = 0;
        
        var drawer = $(this);
		
		//check if not empty settings
		if (!settings.maxWidth) {
			return;
		}
		
        drawer.find(settings.itemSelector + '.active').each(function(){
            $(this).find(settings.handlerSelector).css({
                opacity: 0,
                display: 'none'
            });
            $(this).find(settings.contentSelector).css({
                width: settings.maxWidth+'px'
            });
            $(this).removeClass('active');
            
            currentIndex = $(this).index();
        });
        
        drawer.find(settings.itemSelector + ' ' + settings.handlerSelector).click(function(){
            var currentHandler = $(this);
            var index = currentHandler.parent().index();
            
            var prev = drawer.find(settings.itemSelector).get(currentIndex);
            
            if(!prev)
            {
                return false;
            }
            
            prev = $(prev);
            
            prev.find(settings.contentSelector).animate({
                    width:settings.minWidth+'px'
                }, settings.speed);
            currentHandler.parent().find(settings.contentSelector).animate({
                    width:settings.maxWidth+'px'
                }, settings.speed);
            
            var prevHandler = prev.find(settings.handlerSelector);
            
            prevHandler.show();
            prevHandler.animate({ opacity: 1 }, settings.speed);
            currentHandler.animate({ opacity: 0 }, settings.speed, function() {
                $(this).hide();
            });
            
            currentIndex = index;
            
            return false;
        });
	};

})(jQuery);

