/* Slide Subnav 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>');
		
		$(".subnav").append($(".slidenav ul li ul"));
		
		$('.slidenav-box').addClass('inactive-box');
		
		
		function hideonout(){
			if (options.hideonout == 'true') {
				$('.slidenav-box').addClass('inactive-box');
			}
		}
		($(".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($('.subnav ul:eq(' + aIndex + ')').width());
	
			function changeWidth(){
				
				$('.slidenav-box').removeClass('inactive-box');
				$('.subnav ul').hide();
				$('.subnav ul:eq(' + aIndex + ')').show(1);
				if (subwidth[aIndex] == 0) {
					$('.slidenav-box').addClass('inactive-box');
				}
				else 
					$(".slidenav-box").animate({
						marginLeft: offsetvalue[aIndex],
						width: (subwidth[aIndex]+1)
					}, 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;
				}
			
			if($(this).hasClass('current')){
				$('.subnav ul:eq(' + aIndex + ')').addClass('current_ul').attr('rel', offsetvalue[aIndex]+'#'+(subwidth[aIndex]+1));				
			}
		});
				/*buhera*/
		$('.slidenav-box').removeClass('inactive-box');
		$('.subnav ul').hide();
		$('.subnav ul.current_ul').show(1);
		
		var valami=$('.subnav ul.current_ul').attr('rel').split('#');
			$(".slidenav-box").animate({
				marginLeft: valami[0],
				width: valami[1]
				}, options.animspeed)
				/*	buhera*/
	}
})(jQuery);

