var MenuSizer = {
	liSpace : null,	menu : null, menuWidth : null, menuHeight : null, li : null, totalWidth : null, liCount : null, padding : null, leftOver : null, lastPaddingLeft : null, lastPaddingRight : null, vPadding : null, vPaddingTop : null, vPaddingBottom : null, liLast : null,
	
	size : function(ul, space) {
		this.toggle = false;
		this.liSpace = space;
		this.menu = $(ul);
		this.menuWidth = this.menu.width();
		this.menuHeight = this.menu.height();
		if(this.menuHeight === 0) this.menuHeight = this.menu.parent().height();
		this.li = this.menu.children('li');
		this.li.children('a').css({ paddingLeft:0, paddingRight:0, margin:0, letterSpacing:0 });
		this.li.css({padding:0, margin:0 });
		this.liLast = this.li.eq(this.li.size()-1);
		this.totalWidth = 0;
		this.liCount = this.li.size();
		this.vPadding = (this.menuHeight - this.li.eq(0).height()) /2;
		if(this.vPadding/2 == Math.floor(this.vPadding/2)) {
			this.vPaddingTop = this.vPaddingBottom = this.vPadding;
		} else {
			this.vPaddingTop = Math.floor(this.vPadding) + 1;
			this.vPaddingBottom = Math.floor(this.vPadding);	
		}		
		this.li.each(function(index) {
			if(index != MenuSizer.liCount-1) {
				$(this).css("padding-right", MenuSizer.liSpace);
			};
			MenuSizer.totalWidth += $(this).width();
		}),
		this.padding = Math.floor(((this.menuWidth-(this.liSpace*(this.liCount-1)))-this.totalWidth)/this.liCount/2);
		this.li.children('a').css({"padding-left": MenuSizer.padding+'px', "padding-right": MenuSizer.padding+'px'});	
		while(this.liLast.offset().top == this.li.eq(0).offset().top) parseInt(this.liLast.children('a').css("padding-left")) > parseInt(this.liLast.children('a').css("padding-right")) ? this.liLast.children('a').css("padding-right", parseInt(this.liLast.children('a').css("padding-right")) + 1) : this.liLast.children('a').css("padding-left", parseInt(this.liLast.children('a').css("padding-left")) + 1);
		while(this.liLast.height() > this.menuHeight) this.li.children('a').css('padding-bottom', parseInt(this.liLast.children('a').css('padding-bottom'))-1);
		this.liLast.offset().top > this.li.eq(0).offset().top && this.toggle ? this.liLast.children('a').css("padding-right", parseInt(this.liLast.children('a').css("padding-right")) - 1) : this.liLast.children('a').css("padding-left", parseInt(this.liLast.children('a').css("padding-left")) - 1);
		this.menu.css({ display:'none' });
		this.menu.fadeIn(300);
	}
}

