/*
 * StackSlide 0.1 - jQuery Plugin
 * mike@zurigroup.com
 */

(function($){
    $.fn.stackSlide= function(options){
        var s = this;

        var defaults = {  
            defaultItem: -1,
            contentItems: false
        };
        defaults = $.extend(defaults, options || {});

        s.setupItems = function(els){
            /* Adjust positioning for each item */
            var lft = 0; /* Starting left position */
            $(els).each(function(i){
                var j = i+1;
                var z = i+2;
                var lft = 80*i;
                var item_css
                $(this).css({
                    'z-index':j,
                    'left': lft+'px',
                    'position':'absolute'
                }).attr('id','item-'+j);
                $("#arrow",this).remove();
                $(this).append('<div id="arrow"></div>');
            });
        }

        s.activateItem = function(el, items){
            var thisleft = $(el).css('left').replace('px','');
            if($(el).hasClass('active')){
                var newleft = thisleft+'px';
                $(el).css({'z-index': $(items).size()+5, 'left': newleft });
            }else{
                var newleft = ( parseInt(thisleft) - 38) + 'px';
                $(el).addClass('active').css({'z-index': $(items).size()+5, 'left': newleft });
            }
        }

        s.each(function() {  
            var element = this;
            var $items = $(".item",element);
            if($items.length==0) return;
            $(s).wrapInner('<div id="ss_inner_wrap" style="position:relative;"></div>');
            if(options.contentItems!=false && $("."+options.contentItems).size()>0 ){
                $('#ss_inner_wrap',s).after('<div id="stackSlide_content_container"></div>');
                var $ssc = $("#stackSlide_content_container");
            }

            s.setupItems($items);

            $items.bind("mouseenter",function(){
                s.setupItems($items);
                $items.removeClass('active');
                s.activateItem( $(this), $items );
            });
            
            /*$items.bind("mouseleave",function(){
                s.setupItems($items);
                $items.removeClass('active')
                var ind = $(this).index();
                $(this).css({'z-index': ind+1 });
            }); */

            $("#ss_inner_wrap").bind("mouseleave",function(){
                s.setupItems($items);
                $items.removeClass('active');
                s.activateItem( $(".clicked",s), $items );
            });

            $items.bind("click",function(){
                var thisrel = $(this).attr('rel');
                $items.removeClass('clicked');
                $(this).unbind("mouseleave").addClass('clicked');
                s.activateItem( $(this), $items );
                $ssc.html( $("div[class='"+options.contentItems+"'][id='"+thisrel+"']").html() );
            });

            /* Set the default item */
            var di = defaults.defaultItem;
            if(di>0 && di < $items.size() ){
                var thisrel = $items.eq(di).attr('rel');
                $items.eq(di).addClass('clicked');
                s.activateItem( $items.eq(di), $items );
                $ssc.html( $("div[class='"+options.contentItems+"'][id='"+thisrel+"']").html() );
            }
        });

        return this;
    };
})(jQuery);
