﻿$(function () {
    // Set custom configurations for Main Navigation
    var config = {
        sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)
        interval: 0, // number = milliseconds for onMouseOver polling interval
        over: megaHoverOver, // function = onMouseOver callback (REQUIRED)
        timeout: 0, // number = milliseconds delay before onMouseOut
        out: megaHoverOut // function = onMouseOut callback (REQUIRED)
    };

    $("ul#nav li .sub").css({ 'opacity': '0' });
    $("ul#nav li").hoverIntent(config);
});

// Main Nav functions
function megaHoverOver() {
    $(this).find(".sub").stop().fadeTo('fast', 1).show();

    //Calculate width of all ul's
    (function ($) {
        jQuery.fn.calcSubWidth = function () {
            rowWidth = 0;
            //Calculate row
            $(this).find("ul").each(function () {
                rowWidth += $(this).width();
            });
        };
    })(jQuery);

    if ($(this).find(".row").length > 0) { //If row exists...
        var biggestRow = 0;
        //Calculate each row
        $(this).find(".row").each(function () {
            $(this).calcSubWidth();
            //Find biggest row
            if (rowWidth > biggestRow) {
                biggestRow = rowWidth + 30;
            }
        });
        //Set width
        $(this).find(".sub").css({ 'width': biggestRow });
        $(this).find(".row:last").css({ 'margin': '0' });

    } else { //If row does not exist...

        $(this).calcSubWidth();
        //Set Width
        $(this).find(".sub").css({ 'width': rowWidth });

    }
}

function megaHoverOut() {
    $(this).find(".sub").stop().fadeTo('fast', 0, function () {
        $(this).hide();
    });
}
