!function(a,b,c){var d=function(a){$(".total-amount").val($(a).val()),$("#other-amount").val("")};a(c).ready(function(a){a(".btn-square").click(function(){a(this).parent().children(".btn-square").removeClass("active"),a(this).addClass("active"),d(this)}),a("#other-amount").click(function(){a("#other-amount").bind("keyup change",function(b){a(".total-amount").html(a(this).val()),a("input[name=amount]").val(a(this).val()),a(".btn-square").removeClass("active")})}),a(".num-only").keydown(function(b){-1!==a.inArray(b.keyCode,[46,8,9,27,13,110,190])||65==b.keyCode&&(b.ctrlKey===!0||b.metaKey===!0)||b.keyCode>=35&&b.keyCode<=40||(b.shiftKey||b.keyCode<48||b.keyCode>57)&&(b.keyCode<96||b.keyCode>105)&&b.preventDefault()})})}(jQuery,window,document);