$(document).ready(function() {
	
	// Dynamic Padding
	function padding(parent_container, target_elements, remainder_element, vertical){
		var link_size = 0;
		var unpadded = 0;
		if(vertical){
			var parent_size = parent_container.height();
		} else {
			var parent_size = parent_container.width();
		}
		var link_count = target_elements.length;
		// find unpadded size of links and reset link size to whole numbers
		if(vertical){
			target_elements.each(function(){
				// unpad element
				$(this).css({'padding-top' : 0, 'padding-bottom' : 0});
			  // measure element size with borders
			  unpadded += $(this).outerHeight();
			  // set element size to erase decimal sizing
			  link_size = $(this).height();
			  $(this).css('height', link_size + "px");
			});
		} else {
			target_elements.each(function(){
			  $(this).css({'padding-left' : 0, 'padding-right' : 0});
			  unpadded += $(this).outerWidth();
			  link_size = $(this).width();
			  $(this).css('width', link_size + "px");
			});
		}
		// find raw padding and convert to whole number padding
		var raw_padding = (parent_size - unpadded)/link_count;
		var padding = Math.floor(raw_padding);
		// calculate remainder from decimal padding
		var remainder = Math.round((raw_padding - padding)*link_count);
		if(vertical){
			// apply padding to links (if padding is a decimal apply floor to left and ceil to right)
			target_elements.css({'padding-top' : Math.floor(padding/2), 'padding-bottom' : Math.ceil(padding/2)});
			// apply remainder
			remainder_element.css({'padding-top' : Math.floor(remainder/2) + Math.floor(padding/2), 'padding-bottom' : Math.ceil(remainder/2) + Math.ceil(padding/2)});
		} else {
			target_elements.css({'padding-left' : Math.floor(padding/2), 'padding-right' : Math.ceil(padding/2)});
			remainder_element.css({'padding-left' : Math.floor(remainder/2) + Math.floor(padding/2), 'padding-right' : Math.ceil(remainder/2) + Math.ceil(padding/2)});
		}
	}

	// Dynamic padding for navigation
	var parent_container = $('#nav');
	var target_elements = $('#nav a');
	var remainder_element = $('#nav .last a');
	padding(parent_container, target_elements, remainder_element, false);
	
});

