(function($){
	function typewriter(elem,params){
		var opts={
				delay:150,
				pos:0,
				text:'',
				complete: function(){return false}
		};
		
		$.extend(opts,params);
		var tlen=opts.text.length;
		
		if(tlen==0){
			opts.text=elem.html();
			tlen=opts.text.length;
		}

		elem.html('');
		for(i=opts.pos;i<tlen;i++){
			setTimeout(function(){
				elem.append(
					opts.text.charAt(opts.pos)
				);
				opts.pos++;
				if (opts.pos>=tlen){
					opts.complete();
				}
			
			},i*opts.delay);
		}
	}
	
	$.fn.typewriter=function(params){
		$(this).each(function(){
			typewriter($(this),params);
		});
		
		return this;
	};
})(jQuery);

