whole_func_string: function(func, wait) {
  				var timeout, timestamp;
  				var later = function() {
  					var last = (new Date()) - timestamp;
  
  					if (last < wait) {
  						timeout = setTimeout(later, wait - last);
  					} else {
  						timeout = null;
  						func();
  					}
  				};
  
  				return function() {
  					timestamp = new Date();
  
  					if (!timeout) {
  						timeout = setTimeout(later, wait);
  					}
  				};
  			}
func_code_string: function(func, wait) {
  				var timeout, timestamp;
  				var later = function() {
  					var last = (new Date()) - timestamp;
  
  					if (last < wait) {
  						timeout = setTimeout(later, wait - last);
  					} else {
  						timeout = null;
  						func();
  					}
  				};
  
  				return function() {
  					timestamp = new Date();
  
  					if (!timeout) {
  						timeout = setTimeout(later, wait);
  					}
  				};
  			}
func_documentation_string: Also attach picturefill on resize and readystatechange http://modernjavascript.blogspot.com/2013/08/building-better-debounce.html