if (typeof(streampadTumblr) == 'undefined'){
	streampadTumblr = {}
}
streampadTumblr.vars = {
	audioPostsLength : 0,
	queueNumber : 0,
	gotAudio : false,
	num : 20,
	start : 0,
	isPlaying : false,
	init : false,
	posts : [],
	poweredBy : '',
	poweredByLink : ''
}
streampadTumblr.params = {};
streampadTumblr.init = function(){
	if (!streampadTumblr.vars.init){
		streampadTumblr.vars.init = true;
		var scripts = document.getElementsByTagName('SCRIPT');
		for(i=0; i<scripts.length; i++){
			var src = scripts[i].getAttribute('src');
			try {
				if (src.indexOf('streampad-tumblr.js') != -1){
					var splits = src.split("?");
					var paramString = splits[1];
					var params = paramString.split("&");
					for (j=0; j<params.length; j++){
						var param = params[j].split("=");
						streampadTumblr.params[param[0]] = param[1];
					}
				}
			} catch(e){}
		}
		streampadTumblr.UI.init();
	}
}
streampadTumblr.Events = {
	getAudio : function(){
		var s = document.createElement('script');
		if (streampadTumblr.params.api == null){
			s.setAttribute('src', '/api/read/json?callback=streampadTumblr.Events.getAudioResponse&type=audio&start='+streampadTumblr.vars.start+'&num='+streampadTumblr.vars.num);
		} else {
			s.setAttribute('src', 'http://'+streampadTumblr.params.api+'/api/read/json?callback=streampadTumblr.Events.getAudioResponse&type=audio&start='+streampadTumblr.vars.start+'&num='+streampadTumblr.vars.num);
		}
		document.body.appendChild(s);
	},
	getAudioResponse : function(json){
		tumblr_api_read = json;
		if (tumblr_api_read.posts.length > 0){
			streampadTumblr.vars.start = streampadTumblr.vars.start+streampadTumblr.vars.num;
			streampadTumblr.vars.posts = streampadTumblr.vars.posts.concat(tumblr_api_read.posts); 
			streampadTumblr.vars.audioPostsLength = streampadTumblr.vars.posts.length-1;
			streampadTumblr.UI.setCurrent(streampadTumblr.vars.queueNumber);
		} else {
			streampadTumblr.UI.noAudioPosts();
		}
	},
	nextTrack : function(){
		if (streampadTumblr.vars.queueNumber < streampadTumblr.vars.audioPostsLength){
			streampadTumblr.vars.queueNumber++;
			streampadTumblr.UI.setCurrent(streampadTumblr.vars.queueNumber);
		} else {
			if (streampadTumblr.vars.queueNumber < tumblr_api_read['posts-total']-1){
				streampadTumblr.vars.queueNumber++;	
				streampadTumblr.Events.getAudio();
			}
		}
	},
	previousTrack : function(){
		if (streampadTumblr.vars.queueNumber > 0){
			streampadTumblr.vars.queueNumber--;
			streampadTumblr.UI.setCurrent(streampadTumblr.vars.queueNumber);
		}
	},
	playTrack : function(){
		var streampadPlayTrack = document.getElementById('streampadPlayTrack');
		if (streampadTumblr.vars.isPlaying) {
			streampadTumblr.vars.isPlaying = false;
			if (streampadTumblr.browser.engine.trident4){
				streampadPlayTrack.style.background = 'url(http://static.streampad.com/control_play.png) no-repeat';
				streampadTumblrFixPNG(streampadPlayTrack);
			} else {
				streampadPlayTrack.style.backgroundPosition = '-17px -16px';
				streampadTumblrRemoveEvent(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = '-34px 0';});
				streampadTumblrRemoveEvent(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = '-34px -16px';});
				streampadTumblrAddEvent(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = '-17px 0';});
				streampadTumblrAddEvent(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = '-17px -16px';});
			}
			streampadTumblr.flash.getSWF("streampadFlash").pause();
		} else {
			streampadTumblr.vars.isPlaying = true;
			if (streampadTumblr.browser.engine.trident4){
				streampadPlayTrack.style.background = 'url(http://static.streampad.com/control_pause.png) no-repeat';
				streampadTumblrFixPNG(streampadPlayTrack);
			} else {
				streampadPlayTrack.style.backgroundPosition = '-34px -16px';
				streampadTumblrRemoveEvent(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = '-17px 0';});
				streampadTumblrRemoveEvent(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = '-17px -16px';});
				streampadTumblrAddEvent(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = '-34px 0';});
				streampadTumblrAddEvent(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = '-34px -16px';});
				
			}
			streampadTumblr.flash.getSWF("streampadFlash").unPause();
		}
	},
	flash : function(obj){
		try {
			console.log(obj);
		} catch(e){}
	},
	scrollHandler : function(){ 
		if (streampadTumblr.browser.engine.trident4){
			var bottomBar = document.getElementById('streampadBottomBar');
			var scrollT;
			if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    			scrollT = document.body.scrollTop;
  			} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
   				scrollT = document.documentElement.scrollTop;
  			}
			var height;
			if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
				height = document.documentElement.clientHeight;
  			} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
   				height = document.body.clientHeight;
			}
			if (!scrollT){
				scrollT = 0;
			}
			try {
				bottomBar.style.top = scrollT+height-30;
			} catch(e){}
		}
	},
	poweredByClick : function(e){
		streampadTumblrStopEvent(e);	
	}
}
streampadTumblr.UI = {
	init : function(){
		try {
			var old = document.getElementById('streampadBottomBar');
			old.parentNode.removeChild(old);
		} catch(e){}
		var bottomBar = document.createElement('div');
		bottomBar.setAttribute('id', 'streampadBottomBar');
		bottomBar.style.position =  'fixed';
		bottomBar.style.bottom = '0';
		bottomBar.style.left = '0';
		bottomBar.style.height = '30px';
		bottomBar.style.width = '100%';
		bottomBar.style.background = 'url() repeat-x';
		bottomBar.style.color = '#000000';
		bottomBar.style.fontFamily = 'Verdana, Helvetica, sans-serif';
		bottomBar.style.fontSize = '10px';
		bottomBar.style.cursor = 'pointer';
		bottomBar.style.lineHeight = 'normal';
		bottomBar.style.zIndex = '10000';
		bottomBar.style.textAlign = 'left';
		if (streampadTumblr.browser.engine.trident4){
			bottomBar.style.position = 'absolute';	
		}
		streampadTumblrAddEvent(bottomBar, 'click', streampadTumblr.UI.build);
		var poweredBy = document.createElement('a');
		poweredBy.appendChild(document.createTextNode(streampadTumblr.vars.poweredBy));
		poweredBy.setAttribute('href', streampadTumblr.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadTumblrAddEvent(poweredBy, 'click', streampadTumblr.Events.poweredByClick);
		streampadTumblrAddEvent(poweredBy, 'mouseover', function(){ poweredBy.style.textDecoration = 'underline'; });
		streampadTumblrAddEvent(poweredBy, 'mouseout', function(){ poweredBy.style.textDecoration = 'none'; });
		poweredBy.style.textDecoration = 'none';
		poweredBy.style.cssFloat = 'right';
		poweredBy.style.styleFloat = 'right';
		poweredBy.style.margin = '8px 10px 0 0';
		poweredBy.style.color = '#000000';
		poweredBy.style.fontSize = '1px';
		bottomBar.appendChild(poweredBy);
		var clickToPlay = document.createElement('div');
		var clickToPlayText = "[ Play my Music ] ";
		if (streampadTumblr.params.api != null){
			clickToPlayText = "Click to play all audio posts from "+streampadTumblr.params.api;
		}
		clickToPlay.appendChild(document.createTextNode(clickToPlayText));
		clickToPlay.setAttribute('id', 'streampadTumblrClickToPlay');
		clickToPlay.style.position = 'absolute';
		clickToPlay.style.left = '10px';
		clickToPlay.style.top = '8px';
		bottomBar.appendChild(clickToPlay);
		document.body.appendChild(bottomBar);
	},
	build : function(){
		var bottomBar = document.getElementById('streampadBottomBar');
		streampadTumblrRemoveEvent(bottomBar, 'click', streampadTumblr.UI.build);
		bottomBar.style.cursor = 'default';
		var clickToPlay = document.getElementById('streampadTumblrClickToPlay');
		bottomBar.removeChild(clickToPlay);
		var controls = document.createElement('div');
		controls.style.position = 'absolute';
		controls.style.left = '0';
		controls.style.width = '90px';
		controls.style.height = '100%';
		bottomBar.appendChild(controls);
		var previousTrack = document.createElement('div');
		if (streampadTumblr.browser.engine.trident4){	
			previousTrack.style.background = 'url(http://static.streampad.com/control_start.png) no-repeat';
			streampadTumblrFixPNG(previousTrack);
			previousTrack.style.display = 'inline';
		} else {
			previousTrack.style.background = 'url(http://static.streampad.com/controlSprite.png) no-repeat 0 -16px';
			streampadTumblrAddEvent(previousTrack, 'mouseover', function(){ previousTrack.style.backgroundPosition = '0 0';});
			streampadTumblrAddEvent(previousTrack, 'mouseout', function(){ previousTrack.style.backgroundPosition = '0 -16px';});
		}
		previousTrack.style.margin = '7px 4px 0 10px';
		previousTrack.style.cursor = 'pointer';
		previousTrack.style.width = '16px';
		previousTrack.style.height = '16px';
		previousTrack.style.cssFloat = 'left';
		previousTrack.style.styleFloat = 'left';
		streampadTumblrAddEvent(previousTrack, 'click', streampadTumblr.Events.previousTrack);
		controls.appendChild(previousTrack);
		var playTrack = document.createElement('div');
		playTrack.setAttribute('id', 'streampadPlayTrack');
		if (streampadTumblr.browser.engine.trident4){	
			playTrack.style.background = 'url(http://static.streampad.com/control_pause.png) no-repeat';
			streampadTumblrFixPNG(playTrack);
		} else {
			playTrack.style.background = 'url(http://static.streampad.com/controlSprite.png) no-repeat -34px -16px';
			streampadTumblrAddEvent(playTrack, 'mouseover', function(){ playTrack.style.backgroundPosition = '-34px 0'; });
			streampadTumblrAddEvent(playTrack, 'mouseout', function(){ playTrack.style.backgroundPosition = '-34px -16px'; });
		}
		playTrack.style.margin = '7px 4px 0 0';
		playTrack.style.cursor = 'pointer';
		playTrack.style.width = '16px';
		playTrack.style.height = '16px';
		playTrack.style.cssFloat = 'left';
		playTrack.style.styleFloat = 'left';
		streampadTumblrAddEvent(playTrack, 'click', streampadTumblr.Events.playTrack);
		controls.appendChild(playTrack);
		var nextTrack = document.createElement('div');
		if (streampadTumblr.browser.engine.trident4){	
			nextTrack.style.background = 'url(http://static.streampad.com/control_end.png) no-repeat';
			streampadTumblrFixPNG(nextTrack);
		} else {
			nextTrack.style.background = 'url(http://static.streampad.com/controlSprite.png) no-repeat -51px -16px';
			streampadTumblrAddEvent(nextTrack, 'mouseover', function(){ nextTrack.style.backgroundPosition = '-51px 0'; });
			streampadTumblrAddEvent(nextTrack, 'mouseout', function(){ nextTrack.style.backgroundPosition = '-51px -16px'; });
		}
		nextTrack.style.margin = '7px 4px 0 0';
		nextTrack.style.cursor = 'pointer';
		nextTrack.style.width = '16px';
		nextTrack.style.height = '16px';
		nextTrack.style.cssFloat = 'left';
		nextTrack.style.styleFloat = 'left';
		streampadTumblrAddEvent(nextTrack, 'click', streampadTumblr.Events.nextTrack);
		controls.appendChild(nextTrack);
		var flash = document.createElement('div');
		flash.setAttribute('id', 'streampadAudioPlayer');
		flash.style.position = 'absolute';
		flash.style.left = '90px';
		flash.style.width = '135px';
		flash.style.height = '10px';
		flash.style.top = '9px';
		flash.style.border = '1px solid #FFFFFF';
		flash.style.lineHeight = '0';
		bottomBar.appendChild(flash);	
		flash.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="streampadFlash"><param name=movie value="http://static.streampad.com/streampadtumblr.swf"><param name=swLiveConnect value="true"><param name=allowScriptAccess value="always"><param name=allowNetworking value="all"><param name=wMode value="transparent"><param name=flashVars value="onload=streampadTumblr.Events.getAudio&theHeight=10"><embed flashVars="onload=streampadTumblr.Events.getAudio&theHeight=10" src="http://static.streampad.com/streampadtumblr.swf" type="application/x-shockwave-flash" width="100%" height="100%" allowNetworking="all" allowScriptAccess="always" wMode="transparent" name="streampadFlash"></embed></object>';
		var audioCaption = document.createElement('a');
		audioCaption.appendChild(document.createTextNode('Loading Audio Posts...'));
		audioCaption.setAttribute('id', 'streampadAudioCaption');
		audioCaption.setAttribute('target', '_blank');
		audioCaption.setAttribute('title', 'Click to view post');
		audioCaption.style.position = 'absolute';
		audioCaption.style.left = '250px';
		audioCaption.style.top = '8px';
		audioCaption.style.height = '15px';
		audioCaption.style.color = '#000000';
		audioCaption.style.overflow = 'hidden';
		audioCaption.style.textDecoration = 'none';
		audioCaption.style.fontWeight = 'bold';
		audioCaption.style.border = 'none';
		streampadTumblrAddEvent(audioCaption, 'mouseover', function(){ audioCaption.style.textDecoration = 'underline'; });
		streampadTumblrAddEvent(audioCaption, 'mouseout', function(){ audioCaption.style.textDecoration = 'none'; });
		bottomBar.appendChild(audioCaption);
		var audioPlays = document.createElement('div');
		audioPlays.setAttribute('id', 'streampadAudioPlays');
		audioPlays.style.position = 'absolute';
		audioPlays.style.top = '8px';
		audioPlays.style.color = '#000000';
		audioPlays.style.overflow = 'hidden';
		bottomBar.appendChild(audioPlays);
		streampadTumblr.UI.resize();	
	},
	resize : function(){
		try {
			var bottomBar = document.getElementById('streampadBottomBar');
			var s = bottomBar.offsetWidth;
			document.getElementById('streampadAudioCaption').style.width =  (s-480)+'px';
			document.getElementById('streampadAudioPlays').style.left = (s-210)+'px';
		} catch (e){}
		streampadTumblr.Events.scrollHandler();
	},
	setCurrent : function(queueNumber){
		streampadTumblr.vars.isPlaying = true;
		var streampadAudioCaption = document.getElementById('streampadAudioCaption');
		streampadAudioCaption.innerHTML = "<span style='font-style:italic;'>"+(queueNumber+1)+"/"+tumblr_api_read['posts-total']+":</span> "+streampadTumblr.vars.posts[queueNumber]['audio-caption'].replace(/(<([^>]+)>)/ig,"");
		streampadAudioCaption.setAttribute('href', streampadTumblr.vars.posts[queueNumber].url);
		document.getElementById('streampadAudioPlays').innerHTML = 'Plays : '+streampadTumblr.vars.posts[queueNumber]['audio-plays'];
		var src = streampadTumblr.vars.posts[queueNumber]['audio-player'].split('audio_file=');
		var file = src[1].split('&color=');
		var audio = file[0]+'?plead=please-dont-download-this-or-our-lawyers-wont-let-us-host-audio';
		streampadTumblr.flash.getSWF("streampadFlash").playSong(audio);
	},
	noAudioPosts : function(){
		bottomBar = document.getElementById('streampadBottomBar');
		bottomBar.innerHTML = "";
		var poweredBy = document.createElement('a');
		poweredBy.appendChild(document.createTextNode(streampadTumblr.vars.poweredBy));
		poweredBy.setAttribute('href', streampadTumblr.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadTumblrAddEvent(poweredBy, 'mouseover', function(){ poweredBy.style.textDecoration = 'underline'; });
		streampadTumblrAddEvent(poweredBy, 'mouseout', function(){ poweredBy.style.textDecoration = 'none'; });
		poweredBy.style.textDecoration = 'none';
		poweredBy.style.cssFloat = 'right';
		poweredBy.style.styleFloat = 'right';
		poweredBy.style.margin = '8px 10px 0 0';
		poweredBy.style.color = '#98B5BB';
		poweredBy.style.fontSize = '1px';
		bottomBar.appendChild(poweredBy);
		var none = document.createElement('div');
		none.appendChild(document.createTextNode('No Audio Posts Found'));
		none.style.position = 'absolute';
		none.style.left = '10px';
		none.style.top = '8px';
		bottomBar.appendChild(none);
	}
}
streampadTumblr.flash = {
    getSWF : function(n) {
        var isIE = navigator.appName.indexOf("Microsoft") != -1;
        return (isIE) ? window[n] : document[n];
    }
}
function streampadTumblrAddEvent(el, type, fn) {
	if (el.addEventListener) {
		el.addEventListener(type, fn, false);
	} else {
		el.attachEvent('on' + type, fn);
	}	
}
function streampadTumblrRemoveEvent(el, type, fn) {
	if (el.removeEventListener) {
		el.removeEventListener(type, fn, false);
	} else { 
		el.detachEvent('on' + type, fn);
	}
}
function streampadTumblrStopEvent(e){
	try {
		e.stopPropagation();
	} catch (e){
		try {
			window.event.cancelBubble = true;
		} catch (e) {}
	}
}
function streampadTumblrFixPNG(el) {
    if (streampadTumblr.browser.engine.trident4) {
		var imgURL = el.style.backgroundImage;
        el.style.background = '';
		el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='crop', src=" + imgURL.match(/\((.+)\)/)[1] + ")";
    }
}
streampadTumblr.browser = {};
// browser detection adapted from MooTools 1.2
if (window.opera) streampadTumblr.browser.engine = {name: 'presto', version: (document.getElementsByClassName) ? 950 : 925};
else if (window.ActiveXObject) streampadTumblr.browser.engine = {name: 'trident', version: (window.XMLHttpRequest) ? 5 : 4};
else if (!navigator.taintEnabled) streampadTumblr.browser.engine = {name: 'webkit', version: (document.evaluate) ? 420 : 419};
else if (document.getBoxObjectFor != null) streampadTumblr.browser.engine = {name: 'gecko', version: (document.getElementsByClassName) ? 19 : 18};
streampadTumblr.browser.engine[streampadTumblr.browser.engine.name] = streampadTumblr.browser.engine[streampadTumblr.browser.engine.name + streampadTumblr.browser.engine.version] = true;

(function(){
	var domready = function(){
		if (streampadTumblr.browser.loaded) return;
		streampadTumblr.browser.loaded = true;
		streampadTumblr.init();
	};
	switch (streampadTumblr.browser.engine.name){
		case 'webkit': (function(){
			if (document.readyState == 'loaded' || document.readyState == 'complete'){
				domready();	
			} else {
				setTimeout(arguments.callee, 50);
			}
		})(); 
		break;
		case 'trident':
			var temp = document.createElement('div');
			(function(){
				try {
					(function(){
						temp.doScroll('left');
						temp.innerHTML = 'temp';
						document.body.appendChild(temp);
						document.body.removeChild(temp);
						domready();
					})();
				} catch (e){
					setTimeout(arguments.callee, 50);
				}
			})();
		break;
		default:
			streampadTumblrAddEvent(window, 'load', domready);
			streampadTumblrAddEvent(document, 'DOMContentLoaded', domready);
	}
})();
streampadTumblrAddEvent(window, 'resize', streampadTumblr.UI.resize);
if (streampadTumblr.browser.engine.trident4){
	document.execCommand("BackgroundImageCache", false, true)
	streampadTumblrAddEvent(window, 'scroll', streampadTumblr.Events.scrollHandler);
}

