jquery incorrect product availability result
<p>i made a custom product availability code in which it checks for product size (tshirts) being available or not . the problem is even if the size is not available its showing the defualt selected size its price + price of one more size which is available when we click on that size which is not available . For eg. three sizes , medium , small and large. suppose medium and large is available then when we click on small it should not show any price but its showing prices of all available in it. if there are more sizes such as extra small it shows its price to will rest of the sizes price which it should not. though it works fine when all sizes are available . the code i wrote is can anyone suggest me where i am wrong?</p>

<pre><code>    $.fn.contentTabs = function(o){
        // default options
        var options = $.extend({
            activeClass:'active',
            addToParent:false,
            autoHeight:false,
            autoRotate:false,
            animSpeed:400,
            switchTime:3000,
            effect: 'none', // "fade", "slide"
            tabLinks:'a',
            event:'click'
        },o);

        return this.each(function(){
            var tabset = $(this);
            var tabLinks = tabset.find(options.tabLinks);
            var tabLinksParents = tabLinks.parent();
            var prevActiveLink = tabLinks.eq(0), currentTab, animating;
            var tabHolder;

            // init tabLinks
            tabLinks.each(function(){
                var link = $(this);
                var href = link.attr('href');
                var parent = link.parent();
                href = href.substr(href.lastIndexOf('#'));

                // get elements
                var tab = $(href);
                link.data('cparent', parent);
                link.data('ctab', tab);

// find tab holder
if(!tabHolder &amp;&amp; tab.length &gt; 0) {
   tabHolder = tab.parent();

}

                // show only active tab
                if((options.addToParent ? parent : link).hasClass(options.activeClass)) {
                    prevActiveLink = link; currentTab = tab;
                    tab.removeClass(tabHiddenClass).width("");
                    contentTabsEffect[options.effect].show({tab:tab, fast:true});
                } else {
                    contentTabsEffect[options.effect].hide({tab:tab, fast:true});
                    tab.width(tab.width()).addClass(tabHiddenClass);
                }

                // event handler
                link.bind(options.event, function(e){
                    if(link != prevActiveLink &amp;&amp; !animating) {
                        switchTab(prevActiveLink, link);
                        prevActiveLink = link;
                    }
                    e.preventDefault();
                });
                if(options.event !== 'click') {
                    link.bind('click', function(e){
                        e.preventDefault();
                    });
                }
            });

            // tab switch function
            function switchTab(oldLink, newLink) {
                animating = true;
                var oldTab = oldLink.data('ctab');
                var newTab = newLink.data('ctab');
                currentTab = newTab;

                // refresh pagination links
                (options.addToParent ? tabLinksParents : tabLinks).removeClass(options.activeClass);
                (options.addToParent ? newLink.data('cparent') : newLink).addClass(options.activeClass);

                // hide old tab
                resizeHolder(oldTab, true);
                contentTabsEffect[options.effect].hide({
                    speed: options.animSpeed,
                    tab:oldTab,
                    complete: function() {
                        // show current tab
                        resizeHolder(newTab.removeClass(tabHiddenClass).width(''));
                        contentTabsEffect[options.effect].show({
                            speed: options.animSpeed,
                            tab:newTab,
                            complete: function() {
                                oldTab.width(oldTab.width()).addClass(tabHiddenClass);
                                animating = false;
                                resizeHolder(newTab, false);
                                autoRotate();
                            }
                        });
                    }
                });
            }

            // holder auto height
            function resizeHolder(block, state) {
                var curBlock = block &amp;&amp; block.length ? block : currentTab;
                if(options.autoHeight &amp;&amp; curBlock) {
                    tabHolder.stop();
                    if(state === false) {
                        tabHolder.css({height:''});
                    } else {
                        var origStyles = curBlock.attr('style');
                        curBlock.show().css({width:curBlock.width()});
                        var tabHeight = curBlock.outerHeight(true);
                        if(!origStyles) curBlock.removeAttr('style'); else curBlock.attr('style', origStyles);
                        if(state === true) {
                            tabHolder.css({height: tabHeight});
                        } else {
                            tabHolder.animate({height: tabHeight}, {duration: options.animSpeed});
                        }
                    }
                }
            }
            if(options.autoHeight) {
                $(window).bind('resize orientationchange', function(){
                    resizeHolder(currentTab, false);
                });
            }

            // autorotation handling
            var rotationTimer;
            function nextTab() {
                var activeItem = (options.addToParent ? tabLinksParents : tabLinks).filter('.' + options.activeClass);
                var activeIndex = (options.addToParent ? tabLinksParents : tabLinks).index(activeItem);
                var newLink = tabLinks.eq(activeIndex &lt; tabLinks.length - 1 ? activeIndex + 1 : 0);
                prevActiveLink = tabLinks.eq(activeIndex);
                switchTab(prevActiveLink, newLink);
            }
            function autoRotate() {
                if(options.autoRotate &amp;&amp; tabLinks.length &gt; 1) {
                    clearTimeout(rotationTimer);
                    rotationTimer = setTimeout(nextTab, options.switchTime);
                }
            }
            autoRotate();
        });
    }
</code></pre>
