		var loadStepsize = 200;
		var delay = 300;

		var minratelimit = 1;


		var loadedTweets = [];

		
		function startGetStatuses(){
			showtab("steploadingtweets");
			if(document.getElementById("numberoftweets").options[document.getElementById("numberoftweets").selectedIndex].value<200){
				loadStepsize = document.getElementById("numberoftweets").options[document.getElementById("numberoftweets").selectedIndex].value;
			}
			else {
				loadStepsize = 200;
			}
			var numberofPages = Math.ceil(document.getElementById("numberoftweets").options[document.getElementById("numberoftweets").selectedIndex].value / loadStepsize);
			var pageCounter = 1
			var bolSearch = false;
			loadedTweets = [];
			var url = "http://twitter.com/statuses/friends_timeline.json?count=" + loadStepsize;
			if (document.getElementById("radioFriend").checked && document.getElementById("friends").options[document.getElementById("friends").selectedIndex].value=="myself") {
				url = "http://twitter.com/statuses/user_timeline.json?count=" + loadStepsize;
			}
			else 
				if (document.getElementById("radioFriend").checked) {
					url = "http://twitter.com/statuses/user_timeline.json?count=" + loadStepsize + "&id=" + document.getElementById("friends").options[document.getElementById("friends").selectedIndex].value;
				}
				else 
					if (document.getElementById("radioSearch").checked) {
						var bolSearch = true;
						loadStepsize = Math.min(100,loadStepsize);//100 is max! http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search
						var numberofPages = Math.min(15,Math.ceil(document.getElementById("numberoftweets").options[document.getElementById("numberoftweets").selectedIndex].value / loadStepsize));
						url = "http://search.twitter.com/search.json?q="+encodeURIComponent(document.getElementById("searchterm").value)+"&rpp="+loadStepsize;
					}	
			
			function loadTweets(){
				var percentage = (pageCounter - 1) / numberofPages;
				document.getElementById("progress").style.width = Math.round(percentage * 214) + "px";
				document.getElementById("progressNumber").innerHTML = Math.round(percentage * 100) + "% of tweets";
				if (pageCounter <= numberofPages) {
					$.getJSON("http://twitter.com/account/rate_limit_status.json?callback=?",function(data){
						if(data.remaining_hits<minratelimit){
							showtab("overratelimit")
						}
						else{
							$.getJSON(url + "&page=" + pageCounter + "&callback=?", function(data){
								loadedTweets = loadedTweets.concat(bolSearch?data.results:data);
								pageCounter++;
								if ((bolSearch?data.results.length:data.length) !== 0) {
									window.setTimeout(loadTweets, delay);//delay just to be a bit gentle to the servers of twitter;
								}
								else{
									loadedTweets = loadedTweets.reverse();
									$("#total").html(loadedTweets.length)
									showtab("stepprint");
								}
							});
						}
					})
				}
				else {
					loadedTweets = loadedTweets.reverse();
					showtab("stepprint");
					$("#total").html(loadedTweets.length)
				}
			}
			loadTweets()
		}
			
		function showTweets(){
			var printwin = window.open('tweets.html','','height=500,width= 700,toolbar=1, location=1, status,1 menubar=1, scrollbars=1, resizable=1');
			showtab('stepdonation');
		}
		
		function login(){
			$.getJSON("http://twitter.com/account/verify_credentials.json?callback=?",
		        function(data){
					document.getElementById("userinfo").innerHTML = "logged in as: <span class='usernick'>"+data.screen_name+"</span> <span class='logoutlink'> (<a href='#' onclick='logout();return false'>logout</a></span>)";
					showtab("pleasewait");
					$.getJSON("http://twitter.com/account/rate_limit_status.json?callback=?",function(data){
						if(data.remaining_hits<minratelimit){
							showtab("overratelimit")
						}
						else{
							$.getJSON("http://twitter.com/statuses/friends.json?callback=?",
						        function(data){
									data = data.sort(function(a,b){
										return a.screen_name.toLowerCase()>b.screen_name.toLowerCase();
									})
									var arrHTML = ["<option id='myself'>myself</option>"];
						    		$.each(data,function(i,friend){
										arrHTML.push("<option id='"+data.id+"'>"+friend.screen_name+"</option>")
									});
									$("#friends").html(arrHTML.join(""))
									showtab("stepsettings")
								}
							)
						}
					})
		        });
		}
		
		function logout(){
			$(".step").hide();
			$("#steplogout").show();
		}
		
		function showtab(tabid){
			$(".step").hide();
			$("#" + tabid).show();
			if (tabid == "steploadingtweets" && $.browser.msie && $.browser.version<7) {
				$("#progressbar").hide().show();
			}
		}
		
		function centerTool(bolHonly){
			var hViewport = window.innerHeight || document.documentElement.clientHeight;
            var scrollTopViewport = document.body.scrollTop;
			var panelHeight = document.getElementById("panel").offsetHeight;
			var wViewport = window.innerWidth || document.documentElement.clientWidth;
            var scrollLeftViewport = document.body.scrollLeft;
			var panelWidth = document.getElementById("panel").offsetWidth;
			
			var newTop = Math.max(0,Math.round((hViewport-panelHeight)*0.5+scrollTopViewport)-50)
			var newLeft = Math.max(0,Math.round((wViewport-panelWidth)*0.5+scrollLeftViewport))
			if (!bolHonly) {
				$("#panel").animate({
					top: newTop + "px",
					left: newLeft + "px"
				}, 500)
			}
			else {
				$("#panel").css({top: newTop + "px"});
				$("#panel").animate({left: newLeft + "px"}, 500)}
		}
		
		$(document).ready(function(){
			centerTool(true);
			document.getElementById("radioAll").selected = true;
			$(window).bind("resize",function(){centerTool(false)});
			$("#bookmarklinks").hover(function(){
				$("#bookmarklinks").stop().animate({width:275},500);
			},function(){
				$("#bookmarklinks").stop().animate({width:80},500);
			})
		})
		
		
		function Social_Load() { 
		var d=document; if(d.images){ if(!d.Social) d.Social=new Array();
		var i,j=d.Social.length,a=Social_Load.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.Social[j]=new Image; d.Social[j++].src=a[i];}}
		}
		Social_Load('http://www.social-bookmark-script.de/img/bookmarks/digg_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/del_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/facebook_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/reddit_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/stumbleupon_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/furl_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/technorati_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/newsvine_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/what_trans_ani.gif','http://www.social-bookmark-script.de/load.gif')
		function schnipp() { 
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
		}
		function schnupp(n, d) { 
		  var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=schnupp(n,d.layers[i].document);
		  if(!x && d.getElementById) x=d.getElementById(n); return x;
		  }
		function schnapp() { 
		  var i,j=0,x,a=schnapp.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		  if ((x=schnupp(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
		  }
		
		/*
			(C) 2007 Chuug. All rights reserved.
			twitthis.com
		*/
var TwitThis = {
	pop : function () {
		window.open("http://twitthis.com/twit?url="+encodeURIComponent(location.href)+"&title="+((document.title) ? encodeURIComponent(document.title.replace(/^\s*|\s*$/g,'')) : ""), "TwitThisPop", "width=600, height=500, location, status, scrollbars, resizable");
	}
}