jQuery(document).ready(function() {
	var config = {
	     sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
	     interval: 100, // number = milliseconds for onMouseOver polling interval
	     over: megaHoverOver, // function = onMouseOver callback (REQUIRED)
	     timeout: 100, // number = milliseconds delay before onMouseOut
	     out: megaHoverOut // function = onMouseOut callback (REQUIRED)
	};

	jQuery("ul#topomenu li .sub").css({'opacity':'0'}); //Fade sub nav to 0 opacity on default
	jQuery("ul#topomenu li").hoverIntent(config);

	var banner_i = 1;

	//jQuery('#banner' + banner_i).removeClass();

	jQuery(document).everyTime(6000, function() {
		var button = jQuery('#banner_button').val();

		if(button > 0) {
			jQuery('#banner_button').val(0);
		} else {
			var banner = jQuery('#banner_active').val();
			changeBanner(banner);
		}
	});
	
	if(jQuery('#slider').length) {
		jQuery('#slider').nivoSlider({
			effect:'fade',
			animSpeed:500,
			pauseTime:5000,
			directionNav:false,
			keyboardNav:false,
			pauseOnHover:true
		});
	}

});

function bannerButton(button) {
	jQuery('#banner_button').val(1);
	jQuery('#banner_active').val(button);
	changeBanner(button);
}

function changeBanner(banner_i){
	var banner_next = banner_i;
	var banner_prev = banner_i;

	banner_next++;
	banner_prev--;

	if(banner_next > 3)
		banner_next = 1;

	if(banner_prev < 1)
		banner_prev = 3;

	jQuery('#banner' + banner_i).attr('class', 'banner1');
	jQuery('#banner' + banner_next).attr('class', 'banner2');
	jQuery('#banner' + banner_prev).attr('class', 'banner3');

	jQuery('#banner_btn' + banner_next).removeClass();
	jQuery('#banner_btn' + banner_i).attr('class', 'selected');
	jQuery('#banner_btn' + banner_prev).removeClass();

	jQuery('#banner' + banner_i).fadeOut('fast', function() {
		jQuery('#banner' + banner_i).attr('class', 'banner3');
		jQuery('#banner' + banner_i).show();

		jQuery('#banner' + banner_prev).attr('class', 'banner2');

		jQuery('#banner_active').val(banner_next);

		jQuery('#banner' + banner_next).attr('class', 'banner1');
	});
}

function megaHoverOver(){
	jQuery(this).find(".sub").stop().fadeTo('fast', 1).show(); //Find sub and fade it in
    (function($) {
        //Function to calculate total width of all ul's
        jQuery.fn.calcSubWidth = function() {
            rowWidth = 0;
            //Calculate row
            $(this).find("ul").each(function() { //for each ul...
                rowWidth += $(this).width(); //Add each ul's width together
            });
        };
    })(jQuery);

    jQuery(this).find(".menulink").addClass("selected");

    if ( jQuery(this).find(".row").length > 0 ) { //If row exists...

        var biggestRow = 0;

        jQuery(this).find(".row").each(function() {	//for each row...
        	jQuery(this).calcSubWidth(); //Call function to calculate width of all ul's
            //Find biggest row
            if(rowWidth > biggestRow) {
                biggestRow = rowWidth;
            }
        });

        jQuery(this).find(".sub").css({'width' :biggestRow}); //Set width
        jQuery(this).find(".row:last").css({'margin':'0'});  //Kill last row's margin

    } else { //If row does not exist...

    	jQuery(this).calcSubWidth();  //Call function to calculate width of all ul's
    	jQuery(this).find(".sub").css({'width' : rowWidth}); //Set Width

    }
}

//On Hover Out
function megaHoverOut(){
	jQuery(this).find(".menulink").removeClass("selected");
	jQuery(this).find(".sub").stop().fadeTo(100, 0, function() { //Fade to 0 opactiy
		jQuery(this).hide();  //after fading, hide it
	});
}
