function debounce(fn, wait) {
var timer;
return function () {
var ctx = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () { fn.apply(ctx, args); }, wait);
};
}
function debounce(fn, wait) {
var timer;
return function () {
var ctx = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () { fn.apply(ctx, args); }, wait);
};
}