/**
 * @author Alexander Farkas
 * v. 1.02
 */
(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
			nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
			nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];

            fx.elem.style.backgroundPosition = nowPosX[0] + ' ' + nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/center/g,'50%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);
var mmTO;
var collapseMenu = function(){
	$('#nav #mm a').stop().animate({backgroundPosition:"(50% 36px)"}, {duration:200, complete:function(){
		$(this).css({backgroundPosition: "50% 36px"})
	}, easing: 'swing'});
	$('#navSubMenu').stop().slideUp(300,function(){
		$(this).css({height: ''})
	})
};
$(document).ready(function(){
	$('#nav li:not(#mm) a')
		.css({backgroundPosition: "50% 36px"})
		.mouseover(function(){
			$(this).stop().animate({backgroundPosition:"(50% 0px)"}, {duration:300, easing: 'swing'})
		}).mouseout(function(){
			$(this).stop().animate({backgroundPosition:"(50% 36px)"}, {duration:200, complete:function(){
				$(this).css({backgroundPosition: "50% 36px"})
			}, easing: 'swing'})
		});
	$('#nav #mm a')
		.css({backgroundPosition: "50% 36px"})
		.mouseover(function(){
			clearTimeout(mmTO);
			if($('#navSubMenu').css("height") == 'auto' || $('#navSubMenu:animated').length > 0){
				$(this).stop().animate({backgroundPosition:"(50% 0px)"}, {duration:300, easing: 'swing'});
				$('#navSubMenu').stop().css({height: '',display:'none'}).slideDown(300)
			}
		}).mouseout(function(){
			clearTimeout(mmTO);
			mmTO = setTimeout(collapseMenu,70);
		});
	$('#navSubMenu').mouseover(function(){
		clearTimeout(mmTO);
	}).mouseout(function(){
		clearTimeout(mmTO);
		mmTO = setTimeout(collapseMenu,70);
	});
})
