jQuery.fn.extend({backspace:function(num,options){var settings;settings=jQuery.extend({callback:function(){},keypress:function(){},t:100,e:0.04},options);return this.each(function(){var elem;elem=this;return jQuery(elem).queue(function(){var attr,backsp;attr=elem.tagName==='input'.toUpperCase()||elem.tagName==='textarea'.toUpperCase()?'value':'innerHTML';return(backsp=function(n){if(n){elem[attr]=elem[attr].slice(0,-1);settings.keypress.call(elem);setTimeout((function(){return backsp(n-1)}),Math.random()*settings.t)}else{settings.callback.call(elem);jQuery(elem).dequeue()}})(num)})})},typetype:function(txt,options){var interval,settings;settings=jQuery.extend({callback:function(){},keypress:function(){},t:100,e:0.04},options);interval=function(i){return Math.random()*settings.t*(txt[i-1]===txt[i]?1.6:txt[i-1]==='.'?12:txt[i-1]==='!'?12:txt[i-1]==='?'?12:txt[i-1]==='\n'?12:txt[i-1]===','?8:txt[i-1]===';'?8:txt[i-1]===':'?8:txt[i-1]===' '?3:2)};return this.each(function(){var elem;elem=this;return jQuery(elem).queue(function(){var append,attr,backsp,typeTo;attr=elem.tagName==='input'.toUpperCase()||elem.tagName==='textarea'.toUpperCase()?'value':'innerHTML';append=function(str,cont){if(str){elem[attr]+=str[0];settings.keypress.call(elem);setTimeout((function(){return append(str.slice(1),cont)}),settings.t)}else{cont()}};backsp=function(num,cont){if(num){elem[attr]=elem[attr].slice(0,-1);settings.keypress.call(elem);setTimeout((function(){return backsp(num-1,cont)}),settings.t)}else{cont()}};return(typeTo=function(i){var afterErr,r;if(i<=txt.length){afterErr=function(){return setTimeout((function(){return typeTo(i)}),interval(i))};r=Math.random()/settings.e;if(r<0.3&&txt[i-1]!==txt[i]&&i+41&&/[A-Z]/.test(txt[i-2]&&i+4