/* Slide subnavmenu Menu v1.1.1
* by Justin Volpato http://www.justjquery.com/
*/

(function ($) {
    $.slidenav = function (options) {

        var defaults = {
            animspeed: 'medium',
            hideonout: 'true'
        };

        var options = $.extend(defaults, options);


        $('.slidenav > ul > li:not(:has(ul))').append('<ul></ul>');

        $(".subnavmenu").append($(".slidenav ul li ul"));
        $('.slidenav-box').addClass('inactive-box');


        function hideonout() {
            if (options.hideonout == 'true') {
                $('.slidenav').find(">ul >li").each(function (e) {
                    $('.slidenav >ul li:eq(' + e + ')').removeClass('sfHover')
                }
                );
                $('.slidenav-box').addClass('inactive-box');
                $('.subContainer').hide();
            }
        }
        ($(".slidenav-container")) ? $(".slidenav-container").hoverIntent(function () { }, hideonout) : false;

        var subwidth = [];
        $(".slidenav ul li").each(function (aIndex) {
            var bw = parseInt($('.slidenav-box').css("border-left-width")) + parseInt($('.slidenav-box').css("border-right-width"));
            var bp = parseInt($('.slidenav-box').css('padding-left')) + parseInt($('.slidenav-box').css('padding-right'));
            var minwidth = bw + bp;

            subwidth.push($('.subnavmenu ul:eq(' + aIndex + ')').width());

            function changeWidth() {
                $('.slidenav-box').removeClass('inactive-box');
                $('.subnavmenu ul').hide();
                $('.subContainer').hide();
                $('.slidenav').find(">ul >li").each(function (e) {
                    $('.slidenav >ul li:eq(' + e + ')').removeClass('sfHover').removeClass('saperator');
                }
                );
                $(this).addClass('sfHover');
                $(this).next().addClass('saperator');
                $('.subnavmenu ul:eq(' + aIndex + ')').show(1);
                if ($('.subnavmenu ul:eq(' + aIndex + ')').find(">li").length > 0) {
                    $('.subContainer').show();
                    
                }

                var localwidth = subwidth[aIndex];
                if ($.browser.msie) {
                   localwidth = localwidth +1;
                }

                if (subwidth[aIndex] == 0) {
                    $('.slidenav-box').addClass('inactive-box');
                }
                else
                    $(".slidenav-box").animate({
                        marginLeft: offsetvalue[aIndex],
                        width: localwidth
                    }, options.animspeed)
            }

            $(this).hoverIntent(changeWidth, function () { });


            var navitemwidth = [];
            var navculm = 0;
            var navculmwidth = [];
            var navitemcentre = [];
            var offsetvalue = [];
            for (i = 0; i < aIndex + 1; i++) {

                navitemwidth.push($('.slidenav li:eq(' + i + ')').width());
                navculm = navculm + navitemwidth[i];
                navculmwidth.push(navculm);
                navitemcentre.push(navculmwidth[i] - (navitemwidth[i] * 0.5));
                offsetvalue.push(navitemcentre[i] - (subwidth[i] * 0.5));

            }

            if (navitemcentre[aIndex] < (subwidth[aIndex] * 0.5)) {
                offsetvalue[aIndex] = 0;
            }
            else
                if ((offsetvalue[aIndex] + subwidth[aIndex]) > $(".slidenav").width()) {
                    offsetvalue[aIndex] = $(".slidenav").width() - subwidth[aIndex] - minwidth;
                }
        });
    }
})(jQuery);

