/*
 * TipTip v1.3 Copyright 2010 Drew Wilson [code.drewwilson.com/entry/tiptip-jquery-plugin]
 * Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html
 */
(function($){$.fn.tipTip=function(options){var defaults={activation:"hover",keepAlive:false,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:200,fadeIn:200,fadeOut:200,attribute:"title",content:false,enter:function(){},exit:function(){}};var opts=$.extend(defaults,options);if($("#tiptip_holder").length<=0){var tiptip_holder=$('<div id="tiptip_holder" style="max-width:'+opts.maxWidth+';"></div>');var tiptip_content=$('<div id="tiptip_content"></div>');var tiptip_arrow=$('<div id="tiptip_arrow"></div>');$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')))}else{var tiptip_holder=$("#tiptip_holder");var tiptip_content=$("#tiptip_content");var tiptip_arrow=$("#tiptip_arrow")}return this.each(function(){var org_elem=$(this);if(opts.content){var org_title=opts.content}else{var org_title=org_elem.attr(opts.attribute)}if(org_title!=""){if(!opts.content){org_elem.removeAttr(opts.attribute)}var timeout=false;if(opts.activation=="hover"){org_elem.hover(function(){active_tiptip()},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}else if(opts.activation=="focus"){org_elem.focus(function(){active_tiptip()}).blur(function(){deactive_tiptip()})}else if(opts.activation=="click"){org_elem.click(function(){active_tiptip();return false}).hover(function(){},function(){if(!opts.keepAlive){deactive_tiptip()}});if(opts.keepAlive){tiptip_holder.hover(function(){},function(){deactive_tiptip()})}}function active_tiptip(){opts.enter.call(this);tiptip_content.html(org_title);tiptip_holder.hide().removeAttr("class").css("margin","0");tiptip_arrow.removeAttr("style");var top=parseInt(org_elem.offset()['top']);var left=parseInt(org_elem.offset()['left']);var org_width=parseInt(org_elem.outerWidth());var org_height=parseInt(org_elem.outerHeight());var tip_w=tiptip_holder.outerWidth();var tip_h=tiptip_holder.outerHeight();var w_compare=Math.round((org_width-tip_w)/2);var h_compare=Math.round((org_height-tip_h)/2);var marg_left=Math.round(left+w_compare);var marg_top=Math.round(top+org_height+opts.edgeOffset);var t_class="";var arrow_top="";var arrow_left=Math.round(tip_w-12)/2;if(opts.defaultPosition=="bottom"){t_class="_bottom"}else if(opts.defaultPosition=="top"){t_class="_top"}else if(opts.defaultPosition=="left"){t_class="_left"}else if(opts.defaultPosition=="right"){t_class="_right"}var right_compare=(w_compare+left)<parseInt($(window).scrollLeft());var left_compare=(tip_w+left)>parseInt($(window).width());if((right_compare&&w_compare<0)||(t_class=="_right"&&!left_compare)||(t_class=="_left"&&left<(tip_w+opts.edgeOffset+5))){t_class="_right";arrow_top=Math.round(tip_h-13)/2;arrow_left=-12;marg_left=Math.round(left+org_width+opts.edgeOffset);marg_top=Math.round(top+h_compare)}else if((left_compare&&w_compare<0)||(t_class=="_left"&&!right_compare)){t_class="_left";arrow_top=Math.round(tip_h-13)/2;arrow_left=Math.round(tip_w);marg_left=Math.round(left-(tip_w+opts.edgeOffset+5));marg_top=Math.round(top+h_compare)}var top_compare=(top+org_height+opts.edgeOffset+tip_h+8)>parseInt($(window).height()+$(window).scrollTop());var bottom_compare=((top+org_height)-(opts.edgeOffset+tip_h+8))<0;if(top_compare||(t_class=="_bottom"&&top_compare)||(t_class=="_top"&&!bottom_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_top"}else{t_class=t_class+"_top"}arrow_top=tip_h;marg_top=Math.round(top-(tip_h+5+opts.edgeOffset))}else if(bottom_compare|(t_class=="_top"&&bottom_compare)||(t_class=="_bottom"&&!top_compare)){if(t_class=="_top"||t_class=="_bottom"){t_class="_bottom"}else{t_class=t_class+"_bottom"}arrow_top=-12;marg_top=Math.round(top+org_height+opts.edgeOffset)}if(t_class=="_right_top"||t_class=="_left_top"){marg_top=marg_top+5}else if(t_class=="_right_bottom"||t_class=="_left_bottom"){marg_top=marg_top-5}if(t_class=="_left_top"||t_class=="_left_bottom"){marg_left=marg_left+5}tiptip_arrow.css({"margin-left":arrow_left+"px","margin-top":arrow_top+"px"});tiptip_holder.css({"margin-left":marg_left+"px","margin-top":marg_top+"px"}).attr("class","tip"+t_class);if(timeout){clearTimeout(timeout)}timeout=setTimeout(function(){tiptip_holder.stop(true,true).fadeIn(opts.fadeIn)},opts.delay)}function deactive_tiptip(){opts.exit.call(this);if(timeout){clearTimeout(timeout)}tiptip_holder.fadeOut(opts.fadeOut)}}})}})(jQuery);
/*
 *	jQuery Timer plugin v0.1 Matt Schmidt [http://www.mattptr.net]
 *	Licensed under the BSD License:	http://mattptr.net/license/license.txt
 */
jQuery.timer = function (interval, callback) {var interval = interval || 100;if (!callback) return false;_timer = function (interval, callback) {this.stop = function () {clearInterval(self.id);};this.internalCallback = function () {callback(self);};this.reset = function (val) {if (self.id)	clearInterval(self.id);var val = val || 100;this.id = setInterval(this.internalCallback, val);};this.interval = interval;this.id = setInterval(this.internalCallback, this.interval);var self = this;};return new _timer(interval, callback);};
$.fn.duplicate = function(count){var tmp = [];for (var i = 0;i < count; i++){$.merge(tmp, this.clone(true).get());}return this.pushStack(tmp);};
// hat tip to Damien Howley
function loadticker(ticnum){var fticnum = add_commas(ticnum);var numheight=18;addticker(fticnum);if (ticnum && ticnum != 0){var s = String(fticnum);for (i=s.length;i>=0;i--){var onum=s.charAt(i);$("#num"+i).attr('val',onum);}$(".counter-number").each(function(){var nval=$(this).attr('val');if (!isNaN(nval)){var nheight = Number(nval)*numheight*-1;$(this).animate({ top: nheight+'px'}, 1500 );}if (nval==','){$(this).animate({ top: '-180px'}, 1500 );}});}}
function addticker(newnum){var digitcnt = $(".counter-number").size();var nnum = String(newnum).length;var digitdiff = Number(nnum - Number(digitcnt));if (digitdiff <0){var ltdig = (Number(nnum)-1);$(".counter-number:gt(" + ltdig + ")").remove();}for(i=1;i<=digitdiff;i++){$(".counter-wrap").append('<li class="counter-number" id="num' + (Number(digitcnt+i-1)) + '">&nbsp;</li>');}}
function add_commas(x){x += '';var rgx = /(\d+)(\d{3})/;while (rgx.test(x)){x = x.replace(rgx, '$1' + ',' + '$2');}return x;}
$(document).ready(function(){
	var pageHeight = $(document).height();var pageWidth = $(document).width();
	var tweetsHeight = $('#many div:first').height();
	var tweetRepeat = 1;
	if(tweetsHeight < pageHeight){var tweetRepeat = Math.ceil(pageHeight/tweetsHeight);}
	$('#many').css({'position': 'absolute','height': pageHeight}).children('div').duplicate(tweetRepeat).appendTo('#many');
	if(screen.width > 640){
		var x = 0;
		$.timer(100,function(timer) {
			$('h3').css('backgroundPosition',x+'px -'+x+'px');
			$('#many div:first').css('margin-top', -x+'px');
			x += 1;
			if (x > tweetsHeight){x = 0};
			$('#stoppy').click(function(){timer.stop();$(this).remove();});
		});
	}
	var viewsholder = $('#total-views');var viewstotal = viewsholder.text();viewsholder.hide();loadticker(viewstotal);$(".counter-number").each(function(i){$(this).attr('id','num'+i);});
});
function views_update(){
	var viewsholder = $('#total-views');
	var viewstotal = parseInt(viewsholder.text());
	var viewsfuture = parseInt(viewsholder.attr('future'));
	viewsholder.text(viewsfuture);
	var diffr = Math.floor(viewsfuture - viewstotal);
	var incr = Math.floor(diffr / 29);
	var increments = [];
	for(i=0;i<30;i++){
		increments[i] = Math.floor(viewstotal+(i*incr));
	}
	var step = 0;
	(function views_make(){
		setTimeout(function(){
			if(step++ < 29){loadticker(increments[step]);views_make();}
		},60000);
	})();
}
function views_rinse(){
	views_update();
	(function views_lather(){
		var viewsholder = $('#total-views');
		var viewstotal = parseInt(viewsholder.text());
		var viewsfuture = parseInt(viewsholder.attr('future'));
		$.get('views.txt', function(data){
			var viewsnew = data.split(',');
			if(parseInt(viewsnew[1])>viewsfuture){
				viewsholder.attr('future',viewsnew[1]);
				views_update();setTimeout(function(){views_lather();},1800000);
			}else{setTimeout(function(){views_lather();},1800000);}
		});
	})();
}
$(window).load(function(){
	$('#handle').toggle(function(){$('#howmany').animate({left:'0'},750).addClass('open');},function(){$('#howmany').animate({left:'-254px'},750).removeClass('open');});
	$('#howmany').append('<p class="smaller" id="stoppy">(Dear god, make the background stop moving.)</p>');
	$('.tipsy').tipTip();
	if(screen.width > 640){views_rinse();}
});