// initially based on verticaltabs.pack.js
(
    function ($) {
        $.fn.categoryverticaltabs = function (options) {
            var defaults = {
                hoverTimeout: 100, activeIndex: 0
            };
            var options = $.extend(defaults, options);
            return this.each(
				function () {
				    var verticaltabs = $(this);
				    var tabs = $(verticaltabs).children(".verticalslider_tabs").children();
				    var contents = $(verticaltabs).children(".verticalslider_contents").children();
				    var arrowBlock = "<div class=\"arrow\">&nbsp;</div>";
				    var activeIndex = defaults.activeIndex;
				    var timeout;
				    var totalHeight;
				    $(contents[defaults.activeIndex]).addClass("activeContent");
				    $(tabs[activeIndex]).addClass("activeTab").append(arrowBlock);
				    $(".verticalslider_tabs a", verticaltabs).mouseover(
						function () {
						    if (!$(this).parent().hasClass("activeTab")) {
						        var _this = $(this);
						        activeIndex = $(this).parent().prevAll().length;
						        timeout = setTimeout(function () {
						            if (activeIndex == _this.parent().prevAll().length)
						                switchContents();
						        }, options.hoverTimeout);
						    }
						    return false
						}
					);
				    $(".verticalslider_tabs a", verticaltabs).mouseout(
						function () {
						    clearTimeout(timeout);
						}
                    );
				    function switchContents() {
				        $(".activeTab", verticaltabs).removeClass("activeTab");
				        $('.arrow', verticaltabs).remove();
				        $(tabs[activeIndex], verticaltabs).addClass("activeTab").append(arrowBlock);
				        $(".activeContent", verticaltabs).removeClass("activeContent");
				        $(contents[activeIndex], verticaltabs).addClass("activeContent")
				    };
				}
    	    )
        }
    }
)(jQuery);

