(function(a){var b="ticker";function c(b,a){return b>=a?c(b-a,a):b<0?c(b+a,a):b}function g(f){for(var a=f.data(b),e,d=0;d<200;d++)if(!a.content[d]){e=d;break}a.nextItem=c(a.nextItem||0,e);a.currentItem=a.nextItem;a.elemIndex=[a.currentItem];a.charIndex=0;a.nextItem++}function j(c){var b={elem:c.clone().empty()},d=c.children();if(d.length){d.each(function(c){b[c]=j(a(this))});return b}else{b.text=c.text();return b}}function i(d,b){var c;if(d[b[0]])if(d[b[0]].text)return d[b[0]];else if(b.length==1)return true;else{c=a.makeArray(b);return i(d[c[0]],c.splice(1,c.length))}else return false}function f(a){if(a.length>1){a[a.length-1]++;return a}else return false}function d(b,a){if(a===false)return false;var c=i(b,a);if(c===false)return d(b,f(a.slice(0,a.length-1)));else if(c===true){a[a.length]=0;return d(b,a)}else return a}function h(e,c,b,i){var f,d,g=e.children().eq(b[0]);if(!b.length)return{readout:e,text:c.text};else if(g.length)d=g;else d=c[b[0]].elem.appendTo(e);f=a.makeArray(b).slice(1,b.length);return h(d,c[b[0]],f,i)}function m(d){var c=d.data(b);a("*",d).empty();d.empty();c.start=0;c.sum=0;if(c.cursorIndex)cursorIndex=0}function l(c){var a=c.data(b);a.start=a.sum}function k(h,b,a){var g,d;if(a.cursorIndex!==false){a.cursorIndex=c(a.cursorIndex+1,a.cursorList.length);a.cursor.html(a.cursorList[a.cursorIndex])}else a.cursor.html(a.cursorList);g=a.charIndex-a.start;d=a.text.charAt(g-1);a.cursor.before(d);if(a.charIndex>=a.sum){a.cursor.remove();a.elemIndex=f(a.elemIndex);return e(h,b)}else return setTimeout(function(){if(a.eventIndex==b){a.charIndex++;k(h,b,a)}b=null},a.rate)}function e(f,i){var c=f.data(b);if(c.eventIndex==i){c.elemIndex=d(c.content,c.elemIndex);if(c.elemIndex===false)return setTimeout(function(){if(c.running&&c.eventIndex==i){g(f);return e(f,i)}i=null},c.delay);else if(!c.charIndex)m(f);else l(f);a.extend(c,h(f,c.content,c.elemIndex));c.sum=c.sum+c.text.length;c.readout.append(c.cursor);return k(f,i,c)}}a.fn[b]=function(d){var c=a.extend({},a.fn.ticker.defaults,d);return this.each(function(){var d=a(this);d.data(b,{rate:c.rate,delay:c.delay,content:j(d),cursor:c.cursor,cursorList:c.cursorList,cursorIndex:typeof c.cursorList=="object"?0:false,nextItem:0,eventIndex:0}).bind("stop",function(){var a=d.data(b);a.running=false}).bind("play",function(c){var a=d.data(b);a.eventIndex++;a.running=true;a.nextItem=c.item||a.nextItem;g(d);e(d,a.eventIndex)}).bind("control",function(c){var e=d.data(b);a().extend(e,{nextItem:c.item,rate:c.rate,delay:c.delay})}).children().remove()})};a.fn[b].defaults={rate:40,delay:2e3,cursorList:"_",cursor:a('<span class="cursor" />')}})(jQuery)
