/*
name: sp-player
$Rev: 39871 $
$Date: 2009-03-24 18:00:17 -0400 (Tue, 24 Mar 2009) $
author: Dan Kantor
*/
///////////////////////////////////////////////////////////////
if (typeof(streampadPlayer) == 'undefined'){
	streampadPlayer = {}
}
streampadPlayer.vars = {
	queueNumber : 0,
	isPlaying : false,
	init : false,
	built : false,
	posts : [],
	total : 0,
	poweredBy : 'STREAMPAD',
	poweredByLink : 'http://www.streampad.com/?ncid=edlinkusmusi00000001',
	imgHOST : 'http://o.aolcdn.com/art/sp/',
	playImgPos : '-42px -1px',
	playImgPosOver : '-42px -27px',
	pauseImgPos : '-68px -1px',
	pauseImgPosOver : '-68px -27px',
	prevImgPos : '0 -4px',
	prevImgPosOver : '0 -30px',
	nextImgPos : '-22px -4px',
	nextImgPosOver : '-22px -30px',
	currentSongVO : null,
	fontSize : 12,
	oldPlaylistItem : null,
	isFlashLoaded : false,
	getAudioMeta : true,
	popWindow : location.pathname,
	playlistType : '',
	volumeMouseOn : false,
	volumeButtonMouseOverTimeout : null,
	volumeY : 100,
	volumeDraggerY : 55,
	theVolume : 1,
	marginOffsetLeft : 0,
	isWinamp : false,
	playlistDrawerShowing : false,
	profileDrawerShowing : false,
	sn : null,
	profileDrawerCategory : 'history',
	clientLogin : true,
	siteId : 'Aol_Music_Channel'
};
streampadPlayer.params = {
	height : 30,
	showdrawer : false,
	nowplayingurl : 'http://music.aol.com/api/nowplaying/',
	metaurl : 'http://music.aol.com/api/audio/query',
	swfurl : 'http://o.aolcdn.com/art/_media/sp/BottomBar.swf',
	chartsurl : 'http://music.aol.com/api/charts/',
	aimurl : 'http://api.oscar.aol.com/',
	poweredbycolor : 'A0ABD8',
	visible : 'true',
	btnsprite : 'http://o.aolcdn.com/art/sp/',
	bgimg : 'o.aolcdn.com/art/ch_music2/sp-spinner-bottombar-bg',
	bgcolor : '',
	trackcolor : 'FFFFFF',
	clicktext : '',
	clickimg : 'false',
	autoplay : 'false',
	showpop : 'true',
	progressfrontcolor : 'CCCCCC',
	progressbackcolor : 'FFFFFF',
	showplaylistbutton : 'true',
	showplaylist : 'false',
	drawersize : '215',
	showvolumebutton : 'true',
	btncolor : 'white-gray',
	lswf : 'http://o.aolcdn.com/art/_media/sp/LoginForm.swf'
};
streampadPlayer.Theme = {
	prevOn : '-209px 9px',
	prevOff : '5px 9px',
	playOn : '-227px 9px',
	playOff : '-13px 9px',
	nextOn : '-247px 9px',
	nextOff : '-33px 9px',
	pauseOn : '-266px 9px',
	pauseOff : '-52px 9px',
	volumeOn : '-285px 8px',
	volumeOff : '-71px 8px',
	profileOn : '-309px 8px',
	profileOff : '-95px 8px',
	playlistOn : '-332px 8px',
	playlistOff : '-118px 8px',
	popoutOn : '-356px 8px',
	popoutOff : '-142px 8px',
	loggedInOn : 4,
	loggedInOff : 4,
	borderOn : 4,
	borderOff : 4,
	volumeBack : '12px -70px',
	volumeDrag : '0 -215px',
	closeOn : '-28px -235px',
	closeOff : '0 -235px',
	borderOff : '-31px -24px',
	borderOn : '0 -24px',
	borderRight : false,
	borderNum : 0,
	signInIcon : '-10px -255px',
	viewProfileOff : '-10px -180px',
	viewProfileOn : '-97px -180px',
	logoutOff : '-10px -208px',
	logoutOn : '-78px -208px',
	itunesOff : '-10px -123px',
	itunesOn : '-144px -123px',
	amazonOff : '-10px -151px',
	amazonOn : '-114px -151px',
	loginOff : '-10px -67px',
	loginOn : '-66px -67px',
	signUpOff : '-10px -95px',
	signUpOn : '-77px -95px'
}
////////////////////////////////////////////////////
/* called on domready. gets params from script tag url and initializes UI */
streampadPlayer.init = function(){
	if (!streampadPlayer.vars.init){
		streampadPlayer.vars.init = true;
		streampadPlayer.vars.siteId = location.protocol+'//'+location.host;
		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];
					streampadPlayer.Events.setParams(paramString);
				}
			} catch(e){}
		}
		var hashParams = location.hash;
		hashParams = hashParams.substring(1);
		streampadPlayer.Events.setParams(hashParams);
		if (streampadPlayer.params.queuenumber) {
			streampadPlayer.vars.queueNumber = parseInt(streampadPlayer.params.queuenumber)-1;
		}
		if (streampadPlayer.params.drawersize == 'full'){
			streampadPlayer.params.drawersize = streampadPlayer.Utils.getBodyHeight() - streampadPlayer.params.height;
		} else {
			try {
				if (streampadPlayer.params.drawersize.indexOf('px') != -1){
					streampadPlayer.params.drawersize = streampadPlayer.params.drawersize.slice(0, streampadPlayer.params.drawersize.length-2);
				}
			} catch (e){}
		}
		if (streampadPlayer.params.progressfrontcolor.indexOf('#') != -1){
			streampadPlayer.params.progressfrontcolor = streampadPlayer.params.progressfrontcolor.slice(streampadPlayer.params.progressfrontcolor.indexOf('#'), streampadPlayer.params.progressfrontcolor.indexOf('#')+1);
		}
		if (streampadPlayer.params.progressbackcolor.indexOf('#') != -1){
			streampadPlayer.params.progressbackcolor = streampadPlayer.params.progressbackcolor.slice(streampadPlayer.params.progressbackcolor.indexOf('#'), streampadPlayer.params.progressbackcolor.indexOf('#')+1);
		}
		if (streampadPlayer.params.visible == 'true'){
			setInterval(streampadPlayer.Utils.scriptClean, 20000);
			streampadPlayer.UI.init();
		}
	}
};
/* all Events - clicks, remote, etc */
streampadPlayer.Events = {
	/* called when user clicks or when song is finished */
	nextTrack : function(){
		if (streampadPlayer.vars.queueNumber < streampadPlayer.Playlist.length-1){
			streampadPlayer.vars.queueNumber++;
			streampadPlayer.Play.queueNumber(streampadPlayer.vars.queueNumber);
		} else {
			streampadPlayer.Event.fire(window, 'handleMore', null);
		}
	},
	/* called when user clicks */
	previousTrack : function(){
		if (streampadPlayer.vars.queueNumber > 0){
			streampadPlayer.vars.queueNumber--;
			streampadPlayer.Play.queueNumber(streampadPlayer.vars.queueNumber);
		} else {
			streampadPlayer.Event.fire(window, 'handleLess', null);
		}
	},
	/* called when user clicks play/pause */
	playTrack : function(){
		if (streampadPlayer.vars.isPlaying) {
            streampadPlayer.vars.isPlaying = false;
            streampadPlayer.UI.showPlay();
            if (streampadPlayer.vars.isWinamp){
            	window.external.Transport.Pause();
            } else {
            	streampadPlayer.flash.getSWF("streampadFlash").pause();
            }
            streampadPlayer.Event.fire(window, 'pause', null);
        } else {
            streampadPlayer.vars.isPlaying = true;
            streampadPlayer.UI.showPause();
            if (streampadPlayer.vars.isWinamp) {
            	window.external.Transport.Play();
            } else {
            	streampadPlayer.flash.getSWF("streampadFlash").unPause();
            }
            streampadPlayer.Event.fire(window, 'play', null);
        }
    },
    playTrackMouseOver : function(){
    	var streampadPlayTrack = document.getElementById('streampadPlayTrack');
    	if (streampadPlayer.vars.isPlaying) {
    		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.pauseOn;
    	} else {
    		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.playOn;
    	}
    },
     playTrackMouseOut : function(){
     	var streampadPlayTrack = document.getElementById('streampadPlayTrack');
    	if (streampadPlayer.vars.isPlaying) {
    		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.pauseOff;
    	} else {
    		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.playOff;
    	}
    },
    /* method for Flash to log to console */
	flash : function(obj){
		try {
			console.log(obj);
		} catch(e){ }
	},
	/* hack for ie6 to scroll since its broken on position:fixed */
	scrollHandler : function(){ 
		if (streampadPlayer.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 = streampadPlayer.Utils.getBodyHeight();
			if (!scrollT){
				scrollT = 0;
			}
			try {
				bottomBar.style.top = scrollT+height-streampadPlayer.params.height;
			} catch(e){}
			var bodyWidth = streampadPlayer.Utils.getBodyWidth();
			var bottomBarWidth = bottomBar.clientWidth;
			if (bottomBarWidth != bodyWidth && streampadPlayer.Utils.getWidthMarginSize() != 0){
				bottomBar.style.left = '-' + streampadPlayer.Utils.getWidthMarginSize() + 'px';
				bottomBar.style.width = bodyWidth+'px';
				streampadPlayer.vars.marginOffsetLeft = streampadPlayer.Utils.getX(bottomBar);
			}
			if (streampadPlayer.vars.marginOffsetLeft < 0){
				bottomBar.style.left = '0';
			}
			if (streampadPlayer.params.showdrawer){
				var drawer = document.getElementById('streampadDrawer');
				try {
					drawer.style.top = scrollT+height-streampadPlayer.params.height-streampadPlayer.params.drawersize;
					if (streampadPlayer.vars.marginOffsetLeft < 0){
						drawer.style.left = '0';
					} else {
						drawer.style.left = '-' + streampadPlayer.Utils.getWidthMarginSize() + 'px';
					}
					drawer.style.width = bodyWidth+'px';
				} catch(e){}
			}
			if (streampadPlayer.vars.volumeMouseOn == true){
				try {
					var volDiv = document.getElementById('streampadVolDiv');
					volDiv.style.top = scrollT+height-streampadPlayer.params.height-130;
				} catch(e){}
			}
		}
	},
	/* called when user clicks 'powered by STREAMPAD' */
	poweredByClick : function(e){
		streampadPlayer.Event.stop(e);	
	},
	/* called when song is half way done */
	setPlay : function(){
		streampadPlayer.Charts.setPlayData.request();
	},
	/* pop a new window to current location, passing in autoplay=true and current queuenumber */
	popnew : function(e){
		streampadPlayer.Event.stop(e);
		streampadPlayer.vars.isPlaying = false;
		try {
			streampadPlayer.UI.showPlay();
			streampadPlayer.flash.getSWF("streampadFlash").pause();
		} catch(e){};
		window.open(streampadPlayer.vars.popWindow+'#showplaylist=true&showplaylistbutton=true&autoplay=true&showpop=false&popup=true&queuenumber='+(streampadPlayer.vars.queueNumber+1), 'streampadpopup','resizable=yes,scrollbars=no,toolbar=no,width=800,height=246');
	},
	popnewMouseOver : function(){
		var popnew = document.getElementById('streampadPopNew');
		popnew.style.backgroundPosition = streampadPlayer.Theme.popoutOn;
	},
	popnewMouseOut : function(){
		var popnew = document.getElementById('streampadPopNew');
		popnew.style.backgroundPosition = streampadPlayer.Theme.popoutOff;
	},
	/* called when user clicks on progress bar (from flash) */
	seek : function(){
		streampadPlayer.vars.isPlaying = true;
		streampadPlayer.UI.showPause();
	},
	setParams : function(string){
		var params = string.split("&");
		for (j=0; j<params.length; j++){
			var param = params[j].split("=");
			streampadPlayer.params[param[0]] = param[1];
		}
	},
	playlistButtonMouseOver : function(){
		var playlistButton = document.getElementById('streampadPlaylistButton');
		playlistButton.style.backgroundPosition = streampadPlayer.Theme.playlistOn;
	},
	playlistButtonMouseOut : function(){
		var playlistButton = document.getElementById('streampadPlaylistButton');
		if (streampadPlayer.vars.playlistDrawerShowing){
			playlistButton.style.backgroundPosition = streampadPlayer.Theme.playlistOn;
		} else {
			playlistButton.style.backgroundPosition = streampadPlayer.Theme.playlistOff;
		}
	},
	playlistButtonClick : function(){
		streampadPlayer.Event.remove(window, 'gotPlaylist', streampadPlayer.Events.playlistButtonClick);
		var playlistButton = document.getElementById('streampadPlaylistButton');
		if (streampadPlayer.vars.playlistDrawerShowing){
			streampadPlayer.UI.destroyDrawer();
			streampadPlayer.Event.remove(window, 'setCurrent', streampadPlayer.UI.fillPlaylistDrawer);
			streampadPlayer.Event.remove(window, 'gotPlaylist', streampadPlayer.UI.fillPlaylistItems);
		} else {
			streampadPlayer.UI.destroyDrawer();
			playlistButton.style.backgroundPosition = streampadPlayer.Theme.playlistOn;
			var borderNum = playlistButton.getAttribute('bordernum');
			streampadPlayer.UI.buttonBorder(borderNum, 'borderOn');
			playlistButton.setAttribute('title', 'Close Playlist');
			streampadPlayer.UI.createPlaylistDrawer();
			streampadPlayer.vars.playlistDrawerShowing = true;
			streampadPlayer.UI.fillPlaylistDrawer();
			streampadPlayer.Event.add(window, 'setCurrent', streampadPlayer.UI.fillPlaylistDrawer);
			streampadPlayer.Event.add(window, 'gotPlaylist', streampadPlayer.UI.fillPlaylistItems);
		}
	},
	playlistDrawerClosed : function(){
		var playlistButton = document.getElementById('streampadPlaylistButton');
		playlistButton.style.backgroundPosition = streampadPlayer.Theme.playlistOff;
		var borderNum = playlistButton.getAttribute('bordernum');
		streampadPlayer.UI.buttonBorder(borderNum, 'borderOff');
		playlistButton.setAttribute('title', 'Open Playlist');
		streampadPlayer.vars.playlistDrawerShowing = false;
		streampadPlayer.Event.remove(window, 'setCurrent', streampadPlayer.UI.fillPlaylistDrawer);
		streampadPlayer.Event.remove(window, 'gotPlaylist', streampadPlayer.UI.fillPlaylistItems);
	},
	playlistItemClick : function(e){
		e = e||window.event
		var target = e.currentTarget||e.srcElement;
		streampadPlayer.Play.queueNumber(parseInt(target.getAttribute('num')));
	},
	id3 : function(id3Object){
	},
	playlistItemMore : function(e){
		e = e||window.event
		var target = e.currentTarget||e.srcElement;
		target.innerHTML = "Load 20 more songs...  <img src='"+streampadPlayer.vars.imgHOST+"'loader-16-7A7A8A' style='textAlign=middle'  />";
	},
	volumeButtonMouseOver : function(e){
		streampadPlayer.vars.volumeMouseOn = true;
		try {
			var volDiv = document.getElementById('streampadVolDiv');
			volDiv.setAttribute('foo', 'bar');
		} catch (e){
			streampadPlayer.UI.showVolume();
		}
	},
	volumeDragDown : function(){
		streampadPlayer.Event.add(document, 'mousemove', streampadPlayer.Events.volumeDragMove);
		streampadPlayer.Event.add(document, 'mouseup', streampadPlayer.Events.volumeDragUp);
	},
	volumeDragUp : function(){
		streampadPlayer.Event.remove(document, 'mousemove', streampadPlayer.Events.volumeDragMove);
		streampadPlayer.Event.remove(document, 'mouseup', streampadPlayer.Events.volumeDragUp);
	},
	volumeDragMove : function(e){
		try {
			var volDragger = document.getElementById('streampadVolumeDragger');
			streampadPlayer.vars.volumeDraggerY = e.clientY - streampadPlayer.vars.volumeY + 130;
			if (streampadPlayer.vars.volumeDraggerY > 103){
				streampadPlayer.vars.volumeDraggerY = 103;			
			}
			if (streampadPlayer.vars.volumeDraggerY < 12){
				streampadPlayer.vars.volumeDraggerY = 12;
			}
			volDragger.style.top =  streampadPlayer.vars.volumeDraggerY+'px';
			streampadPlayer.vars.theVolume = ((streampadPlayer.vars.volumeDraggerY*-1)+103);
			streampadPlayer.flash.getSWF("streampadFlash").setVolume(streampadPlayer.vars.theVolume/100);
		} catch (e){}
	},
	volumeButtonMouseOut : function(e){
		streampadPlayer.vars.volumeMouseOn = false;
		streampadPlayer.vars.volumeButtonMouseOverTimeout = setTimeout(streampadPlayer.Events.volumeButtonMouseOutDelay, 1000);
	},
	volumeButtonMouseOutDelay : function(){
		if (streampadPlayer.vars.volumeMouseOn == false){
			try {
				var volDiv = document.getElementById('streampadVolDiv');
				document.body.removeChild(volDiv);
			} catch (e){}
			var volumeButton = document.getElementById('streampadVolumeButton');
			volumeButton.style.backgroundPosition = streampadPlayer.Theme.volumeOff;
		}
	},
	winampTransport : function(event){
		switch (event.event) {
			case 'OnPlay' : 
				try {
					streampadPlayer.UI.showPause();
					streampadPlayer.vars.isPlaying = true;
					streampadPlayer.vars.queueNumber = window.external.PlayQueue.cursor;
					streampadPlayer.vars.currentSongVO = streampadPlayer.Playlist.array[streampadPlayer.vars.queueNumber];
					streampadPlayer.UI.setCurrent(streampadPlayer.Playlist.array[streampadPlayer.vars.queueNumber]);
					streampadPlayer.Event.fire(window, 'setCurrent', streampadPlayer.vars.queueNumber);
					streampadPlayer.Event.fire(window, 'play', null);
				} catch (e) {}
			break;
			case 'OnPause' : 
				try {
					if (event.paused == true){
						streampadPlayer.vars.isPlaying = false;
						streampadPlayer.UI.showPlay();
						streampadPlayer.Event.fire(window, 'pause', null);
					}
					if (event.paused == false){
						streampadPlayer.vars.isPlaying = true;
						streampadPlayer.UI.showPause();
						streampadPlayer.Event.fire(window, 'play', null);
					}
				} catch (e) {}
			break;
			default :
			break;
		}
	},
	profileButtonMouseOver : function(){
		var profileButton = document.getElementById('streampadProfileButton');
		profileButton.style.backgroundPosition = streampadPlayer.Theme.profileOn;
	},
	profileButtonMouseOut : function(){
		var profileButton = document.getElementById('streampadProfileButton');
		if (streampadPlayer.vars.profileDrawerShowing){
			profileButton.style.backgroundPosition = streampadPlayer.Theme.profileOn;
		} else {
			profileButton.style.backgroundPosition = streampadPlayer.Theme.profileOff;
		}
	},
	profileButtonClick : function(){
		var profileButton = document.getElementById('streampadProfileButton');
		if (streampadPlayer.vars.profileDrawerShowing){
			streampadPlayer.UI.destroyDrawer();
			//streampadPlayer.Event.remove(window, 'setCurrent', streampadPlayer.UI.fillProfileDrawerLeft);
		} else {
			streampadPlayer.UI.destroyDrawer();
			//streampadPlayer.Event.add(window, 'setCurrent', streampadPlayer.UI.fillProfileDrawerLeft);
			profileButton.style.backgroundPosition = streampadPlayer.Theme.profileOn;
			var borderNum = profileButton.getAttribute('bordernum');
			streampadPlayer.UI.buttonBorder(borderNum, 'borderOn');
			profileButton.setAttribute('title', 'Close Profile');
			streampadPlayer.UI.createProfileDrawer();
			streampadPlayer.vars.profileDrawerShowing = true;
		}
	},
	profileDrawerClosed : function(){
		var profileButton = document.getElementById('streampadProfileButton');
		profileButton.style.backgroundPosition = streampadPlayer.Theme.profileOff;
		var borderNum = profileButton.getAttribute('bordernum');
		streampadPlayer.UI.buttonBorder(borderNum, 'borderOff');
		profileButton.setAttribute('title', 'Open Profile');
		streampadPlayer.vars.profileDrawerShowing = false;
	},
	loginSubmit : function(){
		setTimeout(streampadPlayer.Events.loginSubmitDelay, 200);
	},
	loginSubmitDelay : function(){
		document.getElementById('streampadPlayerLoginLoader').style.display = 'block';
		streampadPlayer.flash.getSWF("streampadForm").submit();
	},
	loginBack : function(statusCode, loginId){
		document.getElementById('streampadPlayerLoginLoader').style.display = 'none';
		if (statusCode == 200){
			streampadPlayer.flash.getSWF("streampadFlash").checkt();
			streampadPlayer.vars.sn = loginId;
			streampadPlayer.UI.setLoggedIn();
			streampadPlayer.UI.fillProfileDrawer();
		} else {
			alert("There was problem logging in. Please try again");
		}
	},
	oaLogout : {
		request : function(){
			document.getElementById('streampadPlayerLoginLoader').style.display = 'block';
			streampadPlayer.flash.getSWF("streampadFlash").oaLogout('streampadPlayer.Events.oaLogout.response');
			
		},
		response : function(statusCode){
			document.getElementById('streampadPlayerLoginLoader').style.display = 'none';
			streampadPlayer.vars.sn = null;
			streampadPlayer.Theme.profileOff = '-309px 8px';
			streampadPlayer.Theme.profileOn = '-95px 8px';
			document.getElementById('streampadProfileButton').style.backgroundPosition = streampadPlayer.Theme.profileOff;
			streampadPlayer.UI.createSignin();
		}
	}
};
streampadPlayer.UI = {
	/* initilizes bottombar on bottom of page */
	init : function(){
		streampadPlayer.vars.built = false;
		if (streampadPlayer.vars.isWinamp){
			streampadPlayer.params.showvolumebutton = 'false';
			streampadPlayer.params.showpop = 'false';
		}
		streampadPlayer.vars.fontSize = streampadPlayer.params.height/2.5;
		try {
			var old = document.getElementById('streampadBottomBar');
			old.parentNode.removeChild(old);
		} catch(e){}
		var bottomBar = document.createElement('div');
		document.body.appendChild(bottomBar);
		bottomBar.setAttribute('id', 'streampadBottomBar');
		streampadPlayer.Utils.setStyles(bottomBar, {'position' : 'fixed', 'bottom' : '0', 'left' : '0', 'height' : streampadPlayer.params.height+'px', 'width' : '100%', 'color' : '#FFFFFF', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'fontSize' : '12px', 'cursor' : 'pointer', 'lineHeight' : 'normal', 'zIndex' : '10000', 'textAlign' : 'left'});
		if (streampadPlayer.params.bgcolor != ''){
			if (streampadPlayer.params.bgcolor.indexOf('#') == -1){
				streampadPlayer.params.bgcolor = '#'+streampadPlayer.params.bgcolor;
			}
			bottomBar.style.background = streampadPlayer.params.bgcolor;
		} else {
			bottomBar.style.background ='url(http://'+streampadPlayer.params.bgimg+') repeat-x';	
		}
		if (streampadPlayer.browser.engine.trident4){
			bottomBar.style.position = 'absolute';	
		}
		streampadPlayer.Event.add(bottomBar, 'click', streampadPlayer.UI.build);
		var poweredBy = document.createElement('a');
		streampadPlayer.Utils.setStyles(poweredBy, {'background' : 'url('+streampadPlayer.vars.imgHOST+'streampad-white-logo) no-repeat 0 8px', 'height' : '30px', 'width' : '75px', 'display' : 'block', 'textDecoration' : 'none', 'cssFloat' : 'right', 'styleFloat' : 'right', 'margin' : '0 8px'});
		poweredBy.setAttribute('href', streampadPlayer.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadPlayer.Event.add(poweredBy, 'click', streampadPlayer.Events.poweredByClick);
		bottomBar.appendChild(poweredBy);
		if (streampadPlayer.browser.engine.trident4){
			streampadPlayerFixPNG(poweredBy);
			poweredBy.style.height = '19px';
			poweredBy.style.margin = '8px 8px 0 8px';
		}
		if (streampadPlayer.params.showpop != 'false'){
			if (streampadPlayer.Theme.borderRight == false){
				var borderRight = document.createElement('div');
				streampadPlayer.Theme.borderNum++;
				borderRight.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
				streampadPlayer.Utils.setStyles(borderRight, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
				bottomBar.appendChild(borderRight);
				streampadPlayer.Theme.borderRight = true;
			}
			var popnew = document.createElement('div');
			popnew.setAttribute('id', 'streampadPopNew');
			streampadPlayer.Utils.setStyles(popnew, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '28px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.popoutOff+' no-repeat'});
			popnew.setAttribute('title', 'Pop this player into a new page');
			popnew.setAttribute('bordernum', streampadPlayer.Theme.borderNum);
			streampadPlayer.Event.add(popnew, 'click', streampadPlayer.Events.popnew);
			streampadPlayer.Event.add(popnew, 'mouseover', streampadPlayer.Events.popnewMouseOver);
			streampadPlayer.Event.add(popnew, 'mouseout', streampadPlayer.Events.popnewMouseOut);
			bottomBar.appendChild(popnew);
			var borderLeft = document.createElement('div');
			streampadPlayer.Theme.borderNum++;
			borderLeft.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(borderLeft, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
			bottomBar.appendChild(borderLeft);
		}
		var clickToPlay = document.createElement('div');
		var clickToPlayText = "Click to play all audio posts";
		if (streampadPlayer.params.api != null){
			clickToPlayText = "Click to play all audio posts from "+streampadPlayer.params.api;
		}
		if (streampadPlayer.params.clicktext != ''){
			clickToPlayText = streampadPlayer.params.clicktext.replace(/%20/g, ' ');
		}
		clickToPlay.appendChild(document.createTextNode(clickToPlayText));
		clickToPlay.setAttribute('id', 'streampadPlayerClickToPlay');
		if (streampadPlayer.params.trackcolor.indexOf('#') == -1){
			streampadPlayer.params.trackcolor = '#'+streampadPlayer.params.trackcolor;
		}
		bottomBar.appendChild(clickToPlay);
		streampadPlayer.Utils.setStyles(clickToPlay, {'position' : 'absolute', 'left' : '10px', 'fontSize' : streampadPlayer.vars.fontSize+'px', 'top' : (streampadPlayer.params.height/2)-(streampadPlayer.vars.fontSize/2)+'px', 'color' : streampadPlayer.params.trackcolor});
		if (streampadPlayer.params.clickimg == 'true'){
			var clickToPlayImg = document.createElement('div');
			clickToPlayImg.setAttribute('id', 'streampadPlayerClickToPlayImg');
			streampadPlayer.Utils.setStyles(clickToPlayImg, {'width' : '20px', 'height' : '30px', 'position' : 'absolute', 'left' : '10px', 'top' : '0', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.playOff+' no-repeat'});
			bottomBar.insertBefore(clickToPlayImg, clickToPlay);
			clickToPlay.style.left = '40px';
		}
		streampadPlayer.UI.resize();
		streampadPlayer.Event.fire(window, 'init', null);
		if (streampadPlayer.params.autoplay == 'true'){
			streampadPlayer.UI.build();
		}
	},
	/* called when user clicks on initilized bottombar. Can be called by playlist or any other js */
	build : function(){
		setTimeout(streampadPlayer.Omni.request, 10000);
		if (streampadPlayer.params.showplaylist == 'true'){
			streampadPlayer.Event.add(window, 'gotPlaylist', streampadPlayer.Events.playlistButtonClick);
		}
		var bottomBar = document.getElementById('streampadBottomBar');
		streampadPlayer.Event.remove(bottomBar, 'click', streampadPlayer.UI.build);
		bottomBar.style.cursor = 'default';
		var clickToPlay = document.getElementById('streampadPlayerClickToPlay');
		bottomBar.removeChild(clickToPlay);
		try {
			var clickToPlayImg = document.getElementById('streampadPlayerClickToPlayImg');
			bottomBar.removeChild(clickToPlayImg);
		} catch (e){}
		if (streampadPlayer.params.showvolumebutton != 'false'){
			if (streampadPlayer.Theme.borderRight == false){
				var borderRight = document.createElement('div');
				streampadPlayer.Theme.borderNum++;
				borderRight.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
				streampadPlayer.Utils.setStyles(borderRight, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
				bottomBar.appendChild(borderRight);
				streampadPlayer.Theme.borderRight = true;
			}
			var volumeButton = document.createElement('div');
			volumeButton.setAttribute('id', 'streampadVolumeButton');
			volumeButton.setAttribute('bordernum', streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(volumeButton, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '28px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.volumeOff+' no-repeat', 'position' : 'relative'});
			streampadPlayer.Event.add(volumeButton, 'mouseover', streampadPlayer.Events.volumeButtonMouseOver);
			bottomBar.appendChild(volumeButton);
			var borderLeft = document.createElement('div');
			streampadPlayer.Utils.setStyles(borderLeft, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
			streampadPlayer.Theme.borderNum++;
			borderLeft.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
			bottomBar.appendChild(borderLeft);
		}
		if (streampadPlayer.params.showplaylistbutton != 'false'){
			if (streampadPlayer.Theme.borderRight == false){
				var borderRight = document.createElement('div');
				streampadPlayer.Theme.borderNum++;
				borderRight.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
				streampadPlayer.Utils.setStyles(borderRight, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
				bottomBar.appendChild(borderRight);
				streampadPlayer.Theme.borderRight = true;
			}
			var playlistButton = document.createElement('div');
			playlistButton.setAttribute('id', 'streampadPlaylistButton');
			playlistButton.setAttribute('bordernum', streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(playlistButton, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '28px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.playlistOff+' no-repeat'});
			playlistButton.setAttribute('title', 'Open Playlist');
			streampadPlayer.Event.add(playlistButton, 'click', streampadPlayer.Events.playlistButtonClick);
			streampadPlayer.Event.add(playlistButton, 'mouseover', streampadPlayer.Events.playlistButtonMouseOver);
			streampadPlayer.Event.add(playlistButton, 'mouseout', streampadPlayer.Events.playlistButtonMouseOut);
			streampadPlayer.Event.add(window, 'drawerDestroyed', streampadPlayer.Events.playlistDrawerClosed);
			bottomBar.appendChild(playlistButton);
			var borderLeft = document.createElement('div');
			streampadPlayer.Theme.borderNum++;
			borderLeft.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(borderLeft, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
			bottomBar.appendChild(borderLeft);
		}
		if (streampadPlayer.params.showprofilebutton != 'false'){
		if (streampadPlayer.vars.sn != null && streampadPlayer.vars.sn != ''){
			streampadPlayer.Theme.profileOff = '-170px 8px';
			streampadPlayer.Theme.profileOn = '-384px 8px';
		}
			if (streampadPlayer.Theme.borderRight == false){
				var borderRight = document.createElement('div');
				streampadPlayer.Theme.borderNum++;
				borderRight.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
				streampadPlayer.Utils.setStyles(borderRight, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
				bottomBar.appendChild(borderRight);
				streampadPlayer.Theme.borderRight = true;
			}
			var profileButton = document.createElement('div');
			profileButton.setAttribute('id', 'streampadProfileButton');
			profileButton.setAttribute('bordernum', streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(profileButton, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '28px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.profileOff+' no-repeat', 'position' : 'relative'});
			profileButton.setAttribute('title', 'Open Profile');
			streampadPlayer.Event.add(profileButton, 'click', streampadPlayer.Events.profileButtonClick);
			streampadPlayer.Event.add(profileButton, 'mouseover', streampadPlayer.Events.profileButtonMouseOver);
			streampadPlayer.Event.add(profileButton, 'mouseout', streampadPlayer.Events.profileButtonMouseOut);
			bottomBar.appendChild(profileButton);
			streampadPlayer.Event.add(window, 'drawerDestroyed', streampadPlayer.Events.profileDrawerClosed);
			var borderLeft = document.createElement('div');
			streampadPlayer.Theme.borderNum++;
			borderLeft.setAttribute('id', 'streampadPlayerBorderNum'+streampadPlayer.Theme.borderNum);
			streampadPlayer.Utils.setStyles(borderLeft, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '1px', 'height' : '30px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.borderOff+' no-repeat'});
			bottomBar.appendChild(borderLeft);
		}
		var controls = document.createElement('div');
		streampadPlayer.Utils.setStyles(controls, {'position' : 'absolute', 'left' : '5px', 'width' : '65px', 'height' : '100%'});
		bottomBar.appendChild(controls);
		var previousTrack = document.createElement('div');
		streampadPlayer.Utils.setStyles(previousTrack, {'width' : '20px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.prevOff+' no-repeat', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		streampadPlayer.Event.add(previousTrack, 'mouseover', function(){ previousTrack.style.backgroundPosition = streampadPlayer.Theme.prevOn;});
		streampadPlayer.Event.add(previousTrack, 'mouseout', function(){ previousTrack.style.backgroundPosition = streampadPlayer.Theme.prevOff;});
		streampadPlayer.Event.add(previousTrack, 'click', streampadPlayer.Events.previousTrack);
		controls.appendChild(previousTrack);
		var playTrack = document.createElement('div');
		playTrack.setAttribute('id', 'streampadPlayTrack');
		streampadPlayer.Utils.setStyles(playTrack, {'width' : '20px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.playOff+' no-repeat', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		streampadPlayer.Event.add(playTrack, 'mouseover', streampadPlayer.Events.playTrackMouseOver)
		streampadPlayer.Event.add(playTrack, 'mouseout', streampadPlayer.Events.playTrackMouseOut)
		streampadPlayer.Event.add(playTrack, 'click', streampadPlayer.Events.playTrack);
		controls.appendChild(playTrack);
		streampadPlayer.UI.showPause();
		var nextTrack = document.createElement('div');
		streampadPlayer.Utils.setStyles(nextTrack, {'width' : '20px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.nextOff+' no-repeat', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		streampadPlayer.Event.add(nextTrack, 'mouseover', function(){ nextTrack.style.backgroundPosition = streampadPlayer.Theme.nextOn; });
		streampadPlayer.Event.add(nextTrack, 'mouseout', function(){ nextTrack.style.backgroundPosition = streampadPlayer.Theme.nextOff; });
		streampadPlayer.Event.add(nextTrack, 'click', streampadPlayer.Events.nextTrack);
		controls.appendChild(nextTrack);
		var audioCaption = document.createElement('a');
		audioCaption.setAttribute('id', 'streampadAudioCaption');
		audioCaption.setAttribute('target', '_blank');
		audioCaption.setAttribute('title', 'Click to view post');
		streampadPlayer.Utils.setStyles(audioCaption, {'position' : 'absolute', 'left' : '240px', 'top' : (streampadPlayer.params.height/2)-(streampadPlayer.vars.fontSize/2)+'px', 'height' : streampadPlayer.params.height/2+'px', 'color' : streampadPlayer.params.trackcolor, 'overflow' : 'hidden', 'textDecoration' : 'none', 'fontWeight' : 'bold', 'fontSize' : streampadPlayer.vars.fontSize+'px', 'fontFamily' : 'arial', 'border' : 'none'});
		streampadPlayer.Event.add(audioCaption, 'mouseover', function(){ audioCaption.style.textDecoration = 'underline'; });
		streampadPlayer.Event.add(audioCaption, 'mouseout', function(){ audioCaption.style.textDecoration = 'none'; });
		bottomBar.appendChild(audioCaption);
		var audioPlays = document.createElement('div');
		audioPlays.setAttribute('id', 'streampadAudioPlays');
		streampadPlayer.Utils.setStyles(audioPlays, {'position' : 'absolute', 'top' : (streampadPlayer.params.height/2)-(streampadPlayer.vars.fontSize/2)+'px', 'color' : '#FFFFFF', 'fontSize' : streampadPlayer.vars.fontSize+'px', 'fontFamily' : 'arial', 'overflow' : 'hidden', 'overflow' : 'hidden'});
		bottomBar.appendChild(audioPlays);
		var flash = document.createElement('div');
		flash.setAttribute('id', 'streampadAudioPlayer');
		var theWidth = 135;
		var theHeight = streampadPlayer.params.height/3;
		streampadPlayer.Utils.setStyles(flash, {'position' : 'absolute', 'left' : '80px', 'width' : theWidth+'px', 'height' : theHeight+'px', 'top' : (streampadPlayer.params.height/2)-(theHeight/2)+'px', 'lineHeight' : '0'});
		bottomBar.appendChild(flash);
		streampadPlayer.vars.isFlashLoaded = setTimeout(streampadPlayer.Utils.flashLoaded, 5000);
		flash.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="streampadFlash" style="margin:0;"><param name=movie value="'+streampadPlayer.params.swfurl+'?'+Math.random()+'"><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=streampadPlayer.flash.loaded&theHeight='+theHeight+'&theWidth='+theWidth+'&callback=streampadPlayer&progressBackColor='+streampadPlayer.params.progressbackcolor+'&progressFrontColor='+streampadPlayer.params.progressfrontcolor+'"><embed flashVars="onload=streampadPlayer.flash.loaded&theHeight='+theHeight+'&theWidth='+theWidth+'&callback=streampadPlayer&progressBackColor='+streampadPlayer.params.progressbackcolor+'&progressFrontColor='+streampadPlayer.params.progressfrontcolor+'" src="'+streampadPlayer.params.swfurl+'" type="application/x-shockwave-flash" width="100%" height="100%" allowNetworking="all" allowScriptAccess="always" wMode="transparent" name="streampadFlash"></embed></object>';
		streampadPlayer.vars.built = true;
		streampadPlayer.UI.resize();
	},
	/* called when window resizes */
	resize : function(){
		try {
			var bottomBar = document.getElementById('streampadBottomBar');
			var s = bottomBar.offsetWidth;
			document.getElementById('streampadAudioCaption').style.width =  (s-690)+'px';
			document.getElementById('streampadAudioPlays').style.left = (s-280)+'px';
		} catch (e){}
		streampadPlayer.Events.scrollHandler();
	},
	/* sets the UI to the current song playing */
	setCurrent : function(songVO){
		if (streampadPlayer.vars.isWinamp == false){
			document.getElementById('streampadAudioPlayer').style.border = '1px solid #'+streampadPlayer.params.progressbackcolor;
		}
		var queue = "";
		if (streampadPlayer.vars.total){
			queue = (streampadPlayer.vars.queueNumber+1)+" of "+streampadPlayer.vars.total;
		} else {
			queue = (streampadPlayer.vars.queueNumber+1);	
		}
		this.setCaption("<span style='margin-right:5px;'>"+queue+":</span> "+songVO.text, songVO.sourceUrl, songVO.clickFunction);
		if (songVO.plays){
			document.getElementById('streampadAudioPlays').innerHTML = 'Plays : '+songVO.plays;
		}
		streampadPlayer.UI.showPause();
	},
	/* call to set the caption. If clickFunction is not null it will call that onclick. If it is null, it will open sourceUrl in new window */
	setCaption : function(text, sourceUrl, clickFunction){
		var streampadAudioCaption = document.getElementById('streampadAudioCaption');
		streampadAudioCaption.innerHTML = text;
		if (clickFunction != null){
			streampadAudioCaption.setAttribute('href', '#');
			streampadAudioCaption.setAttribute('target', '_self');
			streampadAudioCaption.onclick = clickFunction;
		} else {
			if (sourceUrl != null){
				if (sourceUrl == 'AOL Music'){
					sourceUrl = 'http://music.aol.com/song/id/'+streampadPlayer.vars.currentSongVO.trackAolId;
				}
				streampadAudioCaption.setAttribute('href', sourceUrl);
				streampadAudioCaption.setAttribute('target', '_blank');
				streampadAudioCaption.onclick = null;
			} else {
				streampadAudioCaption.setAttribute('href', '#');
				streampadAudioCaption.setAttribute('target', '_self');
				streampadAudioCaption.onclick = null;
			}
		}
	},
	/* call this if the playlist is empty. */
	noAudioPosts : function(){
		bottomBar = document.getElementById('streampadBottomBar');
		bottomBar.innerHTML = "";
		var poweredBy = document.createElement('a');
		streampadPlayer.Utils.setStyles(poweredBy, {'background' : 'url('+streampadPlayer.vars.imgHOST+'streampad-white-logo) no-repeat 0 8px', 'height' : '30px', 'width' : '75px', 'display' : 'block', 'textDecoration' : 'none', 'cssFloat' : 'right', 'styleFloat' : 'right', 'margin' : '0 8px'});
		poweredBy.setAttribute('href', streampadPlayer.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadPlayer.Event.add(poweredBy, 'click', streampadPlayer.Events.poweredByClick);
		bottomBar.appendChild(poweredBy);
		if (streampadPlayer.browser.engine.trident4){
			streampadPlayerFixPNG(poweredBy);
			poweredBy.style.height = '19px';
			poweredBy.style.margin = '8px 8px 0 8px';
		}
		var none = document.createElement('div');
		none.appendChild(document.createTextNode('No Songs'));
		streampadPlayer.Utils.setStyles(none, {'position' : 'absolute', 'left' : '10px', 'top' : '8px'});
		bottomBar.appendChild(none);
	},
	/* call this to show the pause button. Called when user clicks play/pause */
	showPause : function(){
		var streampadPlayTrack = document.getElementById('streampadPlayTrack');
		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.pauseOff;
	},
	/* call this to show the play button. Called when user clicks play/pause */
	showPlay : function(){
		var streampadPlayTrack = document.getElementById('streampadPlayTrack');
		streampadPlayTrack.style.backgroundPosition = streampadPlayer.Theme.playOff;
	},
	/* Create the drawer */
	createDrawer : function(){
		var drawer = document.createElement('div');
		drawer.setAttribute('id', 'streampadDrawer');
		streampadPlayer.Utils.setStyles(drawer, {'height' : streampadPlayer.params.drawersize+'px', 'backgroundColor' : '#FFFFFF', 'position' : 'fixed', 'overflow' : 'auto', 'bottom' : streampadPlayer.params.height+'px', 'left' : '0', 'width' : '100%', 'borderTop' : '1px solid #000000'});
		if (streampadPlayer.browser.engine.trident4){
				drawer.style.position = 'absolute';	
		}
		document.body.appendChild(drawer);
		streampadPlayer.params.showdrawer = true;
		streampadPlayer.Event.fire(window, 'drawerCreated', null);
		streampadPlayer.UI.resize();
		return drawer;
	},
	/* Destroy the drawer */
	destroyDrawer : function(){
		try {
			var drawer = document.getElementById('streampadDrawer');
			document.body.removeChild(drawer);
			streampadPlayer.params.showdrawer = false;
			streampadPlayer.Event.fire(window, 'drawerDestroyed', null);
		} catch(e){}
	},
	/* Create Playlist Drawer */
	createPlaylistDrawer : function(){
		var drawer = this.createDrawer();
		var left = document.createElement('div');
		left.setAttribute('id', 'streampadPlaylistDrawerLeft');
		streampadPlayer.Utils.setStyles(left, {'position' : 'absolute', 'left' : '0', 'top' : '0', 'width' : '435px', 'overflow' : 'hidden', 'height' : streampadPlayer.params.drawersize+'px', 'background' : '#e5e5e5 url('+streampadPlayer.vars.imgHOST+'drawer-left-break) 100% 0 repeat-y'});
		drawer.appendChild(left);
		var nowPlayingHeader = document.createElement('div');
		streampadPlayer.Utils.setStyles(nowPlayingHeader, {'lineHeight' : 'normal', 'background' : 'url('+streampadPlayer.vars.imgHOST+'sound-wave) 0 2px no-repeat', 'fontSize' : '14px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'fontWeight' : 'bold', 'margin' : '15px 0 0 15px', 'textIndent' : '30px', 'textAlign' : 'left', 'color' : '#000000'});
		nowPlayingHeader.appendChild(document.createTextNode('Now Playing'));
		left.appendChild(nowPlayingHeader);
		var coverArtDiv = document.createElement('div');
		streampadPlayer.Utils.setStyles(coverArtDiv, {'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '10px 12px 0 15px', 'display' : 'inline'});
		left.appendChild(coverArtDiv);
		var coverArt = document.createElement('img');
		coverArt.setAttribute('id', 'streampadCoverArt');
		coverArt.setAttribute('width', '150');
		coverArt.setAttribute('height', '150');
		streampadPlayer.Utils.setStyles(coverArt, {'border' : '1px solid #D4D4D4', 'backgroundColor' : '#FDFDFD', 'padding' : '4px'});
		coverArtDiv.appendChild(coverArt);
		var songTitle = document.createElement('div');
		songTitle.setAttribute('id', 'streampadPlaylistSongTitle');
		streampadPlayer.Utils.setStyles(songTitle, {'fontSize' : '18px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'margin' : '20px 10px 15px 0', 'color' : '#000000', 'textAlign' : 'left'});
		left.appendChild(songTitle);
		var artist = document.createElement('a');
		artist.setAttribute('id', 'streampadPlaylistArtist');
		artist.setAttribute('target', '_blank');
		streampadPlayer.Utils.setStyles(artist, {'fontSize' : '14px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'color' : '#000000', 'textAlign' : 'left', 'display' : 'block'});
		left.appendChild(artist);
		var album = document.createElement('div');
		album.setAttribute('id', 'streampadPlaylistAlbum');
		streampadPlayer.Utils.setStyles(album, {'fontSize' : '12px', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'marginTop' : '4px', 'color' : '#000000', 'textAlign' : 'left'});
		left.appendChild(album);
		var itunes = document.createElement('a');
		itunes.setAttribute('target', '_blank');
		itunes.setAttribute('id', 'streampadPlaylistItunes');
		streampadPlayer.Utils.setStyles(itunes, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.itunesOff, 'width' : '124px', 'height' : '18px', 'lineHeight' : '18px', 'textAlign' : 'center', 'fontSize' : '10px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'textDecoration' : 'none', 'color' : '#FFFFFF', 'display' : 'block', 'margin' : '30px 5px 0 0', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer'});
		streampadPlayer.Event.add(itunes, 'mouseover', function(){ itunes.style.backgroundPosition = streampadPlayer.Theme.itunesOn; });
	    streampadPlayer.Event.add(itunes, 'mouseout', function(){ itunes.style.backgroundPosition = streampadPlayer.Theme.itunesOff; });
		left.appendChild(itunes);
		var amazon = document.createElement('a');
		amazon.setAttribute('target', '_blank');
		amazon.setAttribute('id', 'streampadPlaylistAmazon');
		streampadPlayer.Utils.setStyles(amazon, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.amazonOff, 'width' : '94px', 'height' : '18px', 'lineHeight' : '18px', 'textAlign' : 'center', 'fontSize' : '10px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial, Helvetica, sans-serif', 'textDecoration' : 'none', 'color' : '#FFFFFF', 'display' : 'block', 'marginTop' : '30px', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer'});
		streampadPlayer.Event.add(amazon, 'mouseover', function(){ amazon.style.backgroundPosition = streampadPlayer.Theme.amazonOn; });
		streampadPlayer.Event.add(amazon, 'mouseout', function(){ amazon.style.backgroundPosition = streampadPlayer.Theme.amazonOff; });
		left.appendChild(amazon);
		var right = document.createElement('div');
		streampadPlayer.Utils.setStyles(right, {'position' : 'absolute', 'left' : '435px', 'top' : '0', 'right' : '0', 'height' : streampadPlayer.params.drawersize+'px'});
		if (streampadPlayer.browser.engine.trident4){
			right.style.width = streampadPlayer.Utils.getBodyWidth()-435;
		}
		drawer.appendChild(right);
		var playlistHeader = document.createElement('div');
		playlistHeader.setAttribute('id', 'streampadPlaylistHeader');
		streampadPlayer.Utils.setStyles(playlistHeader, {'height' : '36px', 'lineHeight' : '36px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-right-header) repeat-x', 'width' : '100%', 'fontSize' : '20px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'color' : '#000000', 'textIndent' : '30px', 'textAlign' : 'left', 'borderBottom' : '1px solid #D3D4D6'});
		right.appendChild(playlistHeader);
		var playlistItems = document.createElement('div');
		playlistItems.setAttribute('id', 'streampadPlaylistItems');
		streampadPlayer.Utils.setStyles(playlistItems, {'position' : 'absolute', 'top' : '37px', 'left' : '0', 'bottom' : '0', 'width' : '100%', 'overflow' : 'auto'});
		if (streampadPlayer.browser.engine.trident4){
			playlistItems.style.height = (streampadPlayer.params.drawersize-37)+'px';
		}
		right.appendChild(playlistItems);
		this.fillPlaylistItems();
		if (streampadPlayer.Playlist.length < streampadPlayer.vars.total){
			//this.showLoadMore();
		}
	},
	/* Load more songs option */
	showLoadMore : function(){
		var more = 20;
		if (streampadPlayer.vars.total - streampadPlayer.Playlist.length < more){
			more = streampadPlayer.vars.total - streampadPlayer.Playlist.length;
		}	
		var streampadPlaylistItems = document.getElementById('streampadPlaylistItems');
		var moreDiv = document.createElement('div');
		streampadPlayer.Utils.setStyles(moreDiv, {'height' : '44px', 'lineHeight' : '44px', 'cursor' : 'pointer', 'color' : '#7A7A8A', 'fontFamily' : 'arial', 'fontSize' : '14px', 'fontWeight' : 'bold', 'textIndent' : '50px'});
		moreDiv.appendChild(document.createTextNode('Load '+more+' more songs...'));
		streampadPlayer.Event.add(moreDiv, 'click', streampadPlayer.Events.playlistItemMore);
		streampadPlaylistItems.appendChild(moreDiv);
	},
	/* Fill the playlist with song divs */
	fillPlaylistItems : function(){
		var streampadPlaylistItems = document.getElementById('streampadPlaylistItems');
		streampadPlaylistItems.innerHTML = '';
		for (i=0; i < streampadPlayer.Playlist.length; i++){
			var playlistItem = document.createElement('div');
			playlistItem.setAttribute('id', 'streampadPlaylistItem'+i);
			playlistItem.setAttribute('num', i);
			playlistItem.style.height = '44px';
			if (streampadPlayer.browser.engine.trident4){
				playlistItem.style.width = '97%';
			} else {
				playlistItem.style.width = '100%';
			}
			playlistItem.style.overflow = 'hidden';
			playlistItem.style.cursor = 'pointer';
			playlistItem.style.position = 'relative';
			streampadPlayer.Event.add(playlistItem, 'click', streampadPlayer.Events.playlistItemClick);
			if (i == streampadPlayer.vars.queueNumber){
				playlistItem.style.background = 'url('+streampadPlayer.vars.imgHOST+'playlist-item-selected) no-repeat';
				streampadPlayer.vars.oldPlaylistItem = playlistItem;
			}
			playlistItem.setAttribute('title', streampadPlayer.Playlist.array[i].description);
			streampadPlaylistItems.appendChild(playlistItem);
			var trackNumber = document.createElement('div');
			trackNumber.style.position = 'absolute';
			trackNumber.style.top = '10px';
			trackNumber.style.left = '0';
			trackNumber.style.width = '50px';
			trackNumber.style.textAlign = 'right';
			trackNumber.style.color = '#7A7A8A';
			trackNumber.style.fontFamily = 'arial';
			trackNumber.style.fontSize = '14px';
			trackNumber.style.fontWeight = 'bold';
			trackNumber.setAttribute('num', i);
			trackNumber.appendChild(document.createTextNode((parseInt(i)+1)+'.'));
			playlistItem.appendChild(trackNumber);
			var songTitle = document.createElement('div');
			songTitle.setAttribute('id', 'streampadPlaylistItemSong'+i);
			songTitle.style.position = 'absolute';
			songTitle.style.left = '60px';
			songTitle.style.right = '0';
			songTitle.style.height = '16px';
			songTitle.style.top = '10px';
			songTitle.style.color = '#7A7A8A';
			songTitle.style.fontFamily = 'arial';
			songTitle.style.fontSize = '14px';
			songTitle.style.fontWeight = 'bold';
			songTitle.style.overflow = 'hidden';
			songTitle.style.textAlign = 'left';
			songTitle.style.lineHeight = 'normal';
			if (streampadPlayer.Playlist.array[i].songTitle != null){
				songTitle.appendChild(document.createTextNode(streampadPlayer.Playlist.array[i].songTitle));
			} else {
				songTitle.innerHTML = streampadPlayer.Playlist.array[i].text;
			}
			if (i == streampadPlayer.vars.queueNumber){
				songTitle.style.color = '#000000';
				streampadPlayer.vars.oldPlaylistItemSong = songTitle;
			}
			songTitle.setAttribute('num', i);
			playlistItem.appendChild(songTitle);
			var artist = document.createElement('div');
			artist.setAttribute('id', 'streampadPlaylistItemArtist'+i);
			artist.style.color = '#666666';
			artist.style.fontFamily = 'arial';
			artist.style.fontSize = '12px';
			artist.style.position = 'absolute';
			artist.style.left = '60px';
			artist.style.right = '0';
			artist.style.height = '14px';
			artist.style.top = '26px';
			artist.style.overflow = 'hidden';
			artist.style.textAlign = 'left';
			artist.style.lineHeight = 'normal';
			if (streampadPlayer.Playlist.array[i].artist != null){
				artist.appendChild(document.createTextNode(streampadPlayer.Playlist.array[i].artist));
			} else {
				artist.appendChild(document.createTextNode(''));
			}
			artist.setAttribute('num', i);
			playlistItem.appendChild(artist);
			var divider = document.createElement('div');
			divider.style.height = '1px';
			if (streampadPlayer.browser.engine.trident4){
				divider.style.width = '97%';
			} else {
				divider.style.width = '100%';
			}
			divider.style.overflow = 'hidden';
			divider.style.background = 'url('+streampadPlayer.vars.imgHOST+'playlist-item-divider) no-repeat';
			streampadPlaylistItems.appendChild(divider);
		}
	},
	/* Called on setCurrent */
	fillPlaylistDrawer : function(){
		if (streampadPlayer.vars.currentSongVO != null){
			var coverArt = document.getElementById('streampadCoverArt');
			if (streampadPlayer.vars.currentSongVO.imageUrl != null) {
				coverArt.setAttribute('src', streampadPlayer.vars.currentSongVO.imageUrl);
			} else {
				coverArt.setAttribute('src', streampadPlayer.vars.imgHOST+'no-album-cover-150');
			}
			var streampadPlaylistSongTitle = document.getElementById('streampadPlaylistSongTitle');
			if (streampadPlayer.vars.currentSongVO.songTitle != null){
				streampadPlaylistSongTitle.innerHTML = streampadPlayer.Utils.trimString(streampadPlayer.vars.currentSongVO.songTitle, 22);
			} else {
				streampadPlaylistSongTitle.innerHTML = streampadPlayer.Utils.trimString(streampadPlayer.vars.currentSongVO.text, 22);
				streampadPlaylistSongTitle.setAttribute('title', streampadPlayer.vars.currentSongVO.text);
			}
			var streampadPlaylistArtist = document.getElementById('streampadPlaylistArtist');
			if (streampadPlayer.vars.currentSongVO.artist != null){
				streampadPlaylistArtist.innerHTML = streampadPlayer.vars.currentSongVO.artist;
				streampadPlaylistArtist.setAttribute('href', 'http://music.aol.com/search?query='+streampadPlayer.vars.currentSongVO.artist);
			} else {
				streampadPlaylistArtist.innerHTML = '';
			}
			if (streampadPlayer.vars.currentSongVO.artistAolId != null){
				streampadPlaylistArtist.setAttribute('href', 'http://music.aol.com/artist/id/'+streampadPlayer.vars.currentSongVO.artistAolId);
			} 
			var streampadPlaylistAlbum = document.getElementById('streampadPlaylistAlbum');
			if (streampadPlayer.vars.currentSongVO.album != null){
				streampadPlaylistAlbum.innerHTML = streampadPlayer.vars.currentSongVO.album;
			} else {
				streampadPlaylistAlbum.innerHTML = '';
			}
			var amazon = document.getElementById('streampadPlaylistAmazon');
			if (streampadPlayer.vars.currentSongVO.album != null) {
				amazon.setAttribute('href', 'http://www.amazon.com/s/ref=nb_ss_gw_2_10?url=search-alias%3Dpopular&field-keywords='+streampadPlayer.vars.currentSongVO.artist+'%20'+streampadPlayer.vars.currentSongVO.album+'&tag=onenagr-21');
				amazon.style.display = 'block';
			} else {
				amazon.style.display = 'none';
			}
			var itunes = document.getElementById('streampadPlaylistItunes');
			if (streampadPlayer.vars.currentSongVO.itunes != null) {
				itunes.setAttribute('href', streampadPlayer.vars.currentSongVO.itunes);
				itunes.style.display = 'block';
			} else {
				if (streampadPlayer.vars.currentSongVO.album != null) {
					itunes.setAttribute('href', 'http://phobos.apple.com/WebObjects/MZSearch.woa/wa/com.apple.jingle.search.DirectAction/search?term='+streampadPlayer.vars.currentSongVO.album+'&partnerId=1');
				itunes.style.display = 'block';
				} else {
					itunes.style.display = 'none';
				}
			}
			var playlistHeader = document.getElementById('streampadPlaylistHeader');
			playlistHeader.innerHTML = '';
			var closeButton = document.createElement('div');
			closeButton.setAttribute('title', 'Close Playlist');
			streampadPlayer.Utils.setStyles(closeButton, {'width' : '20px', 'height' : '24px', 'styleFloat' : 'right', 'cssFloat' : 'right', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.closeOff+' no-repeat', 'margin' : '5px 10px 0 0', 'cursor' : 'pointer'});
			streampadPlayer.Event.add(closeButton, 'mouseover', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOn; });
			streampadPlayer.Event.add(closeButton, 'mouseout', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOff; });
			streampadPlayer.Event.add(closeButton, 'click', streampadPlayer.Events.playlistButtonClick);
			playlistHeader.appendChild(closeButton);
			var playlistHeaderTitle = document.createElement('div');
			playlistHeaderTitle.style.textIndent = '30px';
			playlistHeaderTitle.appendChild(document.createTextNode(streampadPlayer.Playlist.title));
			playlistHeader.appendChild(playlistHeaderTitle);
			try {
				streampadPlayer.vars.oldPlaylistItem.style.background = '#FFFFFF';
				streampadPlayer.vars.oldPlaylistItemSong.style.color = '#7A7A8A';
			} catch (e){}
			try {
				streampadPlayer.vars.oldPlaylistItem = document.getElementById('streampadPlaylistItem'+streampadPlayer.vars.queueNumber);
				streampadPlayer.vars.oldPlaylistItem.style.background = 'url('+streampadPlayer.vars.imgHOST+'playlist-item-selected) no-repeat';
				streampadPlayer.vars.oldPlaylistItemSong = document.getElementById('streampadPlaylistItemSong'+streampadPlayer.vars.queueNumber);
				streampadPlayer.vars.oldPlaylistItemSong.style.color = '#0F1030';
			} catch (e){}
			var playlistItems = document.getElementById('streampadPlaylistItems');
			var scrollPosition = streampadPlayer.vars.queueNumber*44-44+streampadPlayer.vars.queueNumber;
			playlistItems.scrollTop = scrollPosition;
		}
	},
	showVolume : function(){
		var volumeButton = document.getElementById('streampadVolumeButton');
		volumeButton.style.backgroundPosition = streampadPlayer.Theme.volumeOn;
		var x = streampadPlayer.Utils.getX(volumeButton);
		streampadPlayer.vars.volumeY = streampadPlayer.Utils.getBodyHeight() - streampadPlayer.params.height;//streampadPlayer.Utils.getY(volumeButton);
		var volDiv = document.createElement('div');
		volDiv.setAttribute('id', 'streampadVolDiv');
		var bgcolor = '#000000';
		if (streampadPlayer.params.bgcolor != null && streampadPlayer.params.bgcolor != ''){
			bgcolor = streampadPlayer.params.bgcolor;
		}
		streampadPlayer.Utils.setStyles(volDiv, {'height' : '130px', 'background' : bgcolor+' url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.volumeBack+' no-repeat', 'position' : 'fixed', 'bottom' : streampadPlayer.params.height+'px', 'left' : (x-1)+'px', 'width' : '30px', 'zIndex' : '10000', 'overflow' : 'auto'});
		if (streampadPlayer.browser.engine.trident4){
			volDiv.style.position = 'absolute';
			if (streampadPlayer.vars.marginOffsetLeft < 0){
				volDiv.style.left = x - streampadPlayer.Utils.getWidthMarginSize() - 2 - streampadPlayer.vars.marginOffsetLeft + 'px';
			} else {
				volDiv.style.left = x - streampadPlayer.Utils.getWidthMarginSize() - 2 + 'px';
			}
		}
		document.body.appendChild(volDiv);
		streampadPlayer.Event.add(volDiv, 'mouseover', function(){ streampadPlayer.vars.volumeMouseOn = true });
		streampadPlayer.Event.add(volDiv, 'mouseout', streampadPlayer.Events.volumeButtonMouseOut);
		var volDragger = document.createElement('div');
		volDragger.setAttribute('id', 'streampadVolumeDragger');
		streampadPlayer.Utils.setStyles(volDragger, {'height' : '16px', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.volumeDrag+' no-repeat', 'position' : 'absolute', 'top' : streampadPlayer.vars.volumeDraggerY+'px', 'width' : '16px', 'zIndex' : 10001, 'cursor' : 'pointer', 'left' : '7px'});
		volDiv.appendChild(volDragger);
		streampadPlayer.Event.add(volDragger, 'mousedown', streampadPlayer.Events.volumeDragDown);
		streampadPlayer.Event.add(volDragger, 'mouseup', streampadPlayer.Events.volumeDragUp);
		streampadPlayer.Event.add(volumeButton, 'mouseout', streampadPlayer.Events.volumeButtonMouseOut);
		
		streampadPlayer.UI.resize();
	},
	fillProfileDrawer : function(){
		switch (streampadPlayer.vars.profileDrawerCategory){
			case "history" : 
				this.fillHistoryDrawer();
			break;
			default :
				this.fillHistoryDrawer();
			break;
		}
	},
	fillProfileDrawerTop : function(){
		var right = document.getElementById('streampadProfileDrawerRight');
		right.innerHTML = '';
		var profileHeader = document.createElement('div');
		profileHeader.setAttribute('id', 'streampadProfileHeader');
		streampadPlayer.Utils.setStyles(profileHeader, {'height' : '36px', 'lineHeight' : '36px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-right-header) repeat-x', 'width' : '100%', 'fontSize' : '20px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'textIndent' : '30px', 'textAlign' : 'left', 'borderBottom' : '1px solid #D3D4D6'});
		right.appendChild(profileHeader);
		
		var closeButton = document.createElement('div');
		closeButton.setAttribute('title', 'Close Profile');
		streampadPlayer.Utils.setStyles(closeButton, {'width' : '20px', 'height' : '24px', 'styleFloat' : 'right', 'cssFloat' : 'right', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.closeOff+' no-repeat', 'margin' : '5px 10px 0 0', 'cursor' : 'pointer'});
		streampadPlayer.Event.add(closeButton, 'mouseover', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOn; });
		streampadPlayer.Event.add(closeButton, 'mouseout', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOff; });
		streampadPlayer.Event.add(closeButton, 'click', streampadPlayer.Events.profileButtonClick);
		profileHeader.appendChild(closeButton);
		var historyHeader = document.createElement('div');
		streampadPlayer.Utils.setStyles(historyHeader, {'cssFloat' : 'left', 'styleFloat' : 'left', 'fontSize' : '18px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'margin' : '0 0 0 0', 'width' : '126px', 'height' : '36px', 'cursor' : 'pointer', 'color' : '#000000'});
		historyHeader.appendChild(document.createTextNode('History'));
		profileHeader.appendChild(historyHeader);
	

		/*var right = document.getElementById('streampadProfileDrawerRight');
		right.innerHTML = '';
		var profileHeader = document.createElement('div');
		profileHeader.setAttribute('id', 'streampadProfileHeader');
		streampadPlayer.Utils.setStyles(profileHeader, {'height' : '36px', 'lineHeight' : '36px', 'background' : '#C2C2CC', 'width' : '100%', 'fontSize' : '20px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'textIndent' : '30px', 'textAlign' : 'left', 'borderBottom' : '1px solid #D3D4D6'});
		right.appendChild(profileHeader);
		
		var bg = "";
		var color = '#727385';
		var borderRight = '';
		if (streampadPlayer.vars.profileDrawerCategory == 'history'){
			bg = 'url(images/Buddies/tab_selected.gif) no-repeat';
			color = '#0F1030';
		} else {
			if (streampadPlayer.vars.profileDrawerCategory != 'buddies'){
				borderRight = '1px solid #9F9FA9';
			}
		}
		var historyHeader = document.createElement('div');
		streampadPlayer.Utils.setStyles(historyHeader, {'cssFloat' : 'left', 'styleFloat' : 'left', 'fontSize' : '18px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'margin' : '0 0 0 0', 'width' : '126px', 'height' : '36px', 'cursor' : 'pointer', 'background' : bg, 'color' : color, 'borderRight' : borderRight});
		historyHeader.appendChild(document.createTextNode('History'));
		profileHeader.appendChild(historyHeader);
		if (streampadPlayer.vars.profileDrawerCategory == 'history'){
			var shadow = this.drawerHeaderShadow('right')
			profileHeader.appendChild(shadow);
		}
		
		bg = "";
		color = '#727385';
		var borderRight = '';
		if (streampadPlayer.vars.profileDrawerCategory == 'buddies'){
			bg = 'url(/Buddies/tab_selected.gif) no-repeat';
			color = '#0F1030';
		} else {
			if (streampadPlayer.vars.profileDrawerCategory != 'settings'){
				borderRight = '1px solid #9F9FA9';
			}
		}
		if (streampadPlayer.vars.profileDrawerCategory == 'buddies'){
			var shadow = this.drawerHeaderShadow('left')
			profileHeader.appendChild(shadow);
		}
		var buddiesHeader = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddiesHeader, {'cssFloat' : 'left', 'styleFloat' : 'left', 'fontSize' : '18px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'margin' : '0 0 0 0', 'background' : bg, 'width' : '126px', 'height' : '36px', 'cursor' : 'pointer', 'color' : color, 'borderRight' : borderRight});
		buddiesHeader.appendChild(document.createTextNode('Buddies'));
		profileHeader.appendChild(buddiesHeader);
		if (streampadPlayer.vars.profileDrawerCategory == 'buddies'){
			var shadow = this.drawerHeaderShadow('right')
			profileHeader.appendChild(shadow);
		}
		
		bg = "";
		color = '#727385';
		if (streampadPlayer.vars.profileDrawerCategory == 'settings'){
			bg = 'url(/Buddies/tab_selected.gif) no-repeat';
			color = '#0F1030';
		}
		if (streampadPlayer.vars.profileDrawerCategory == 'settings'){
			var shadow = this.drawerHeaderShadow('left')
			profileHeader.appendChild(shadow);
		}
		var settingsHeader = document.createElement('div');
		streampadPlayer.Utils.setStyles(settingsHeader, {'cssFloat' : 'left', 'styleFloat' : 'left', 'fontSize' : '18px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'margin' : '0 0 0 0', 'background' : bg, 'width' : '126px', 'height' : '36px', 'cursor' : 'pointer', 'color' : color});
		settingsHeader.appendChild(document.createTextNode('Settings'));
		profileHeader.appendChild(settingsHeader);
		if (streampadPlayer.vars.profileDrawerCategory == 'settings'){
			var shadow = this.drawerHeaderShadow('right')
			profileHeader.appendChild(shadow);
		}*/
	},
	fillProfileDrawerLeft : function(){
		var left = document.getElementById('streampadProfileDrawerLeft');
		left.innerHTML = '';
		var buddyIcon = document.createElement('img');
		buddyIcon.setAttribute('id', 'streampadBuddyIcon');
		buddyIcon.setAttribute('src', 'http://api.oscar.aol.com/expressions/get?t='+streampadPlayer.vars.sn+'&f=native&type=buddyIcon&defaultId=00052b00003089');
		buddyIcon.setAttribute('height', '50px');
		buddyIcon.setAttribute('width', '50px');
		streampadPlayer.Utils.setStyles(buddyIcon, {'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '20px 10px 20px 20px', 'padding' : '4px', 'border' : '1px solid #D6D7DA', 'background' : '#FFFFFF', 'display' : 'inline'});
		if (streampadPlayer.browser.engine.trident4){
			buddyIcon.style.marginBottom = '0';
		}
		left.appendChild(buddyIcon);
		var buddyName = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddyName, {'fontSize' : '14px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'color' : '#000000', 'margin' : '20px 0 20px 0'});
		buddyName.appendChild(document.createTextNode(streampadPlayer.vars.sn));
		left.appendChild(buddyName);
		var buddyProfileA = document.createElement('a');
		buddyProfileA.setAttribute('href', 'http://music.aol.com/profile/'+streampadPlayer.vars.sn);
		buddyProfileA.setAttribute('target', '_blank');
		buddyProfileA.appendChild(document.createTextNode('view profile'));
		streampadPlayer.Utils.setStyles(buddyProfileA, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.viewProfileOff, 'textIndent' : '-3000px', 'cssFloat' : 'left', 'styleFloat' : 'left', 'height' : '18px', 'width' : '77px', 'display' : 'block', 'marginRight' : '10px'});
		streampadPlayer.Event.add(buddyProfileA, 'mouseover', function() {buddyProfileA.style.backgroundPosition = streampadPlayer.Theme.viewProfileOn;});
		streampadPlayer.Event.add(buddyProfileA, 'mouseout', function() {buddyProfileA.style.backgroundPosition = streampadPlayer.Theme.viewProfileOff;});
		left.appendChild(buddyProfileA);
		if (streampadPlayer.vars.clientLogin == true) {
			var logout = document.createElement('div');
			streampadPlayer.Utils.setStyles(logout, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.logoutOff, 'cssFloat' : 'left', 'styleFloat' : 'left', 'height' : '18px', 'width' : '58px', 'display' : 'block', 'cursor' : 'pointer'});
			streampadPlayer.Event.add(logout, 'mouseover', function() {logout.style.backgroundPosition = streampadPlayer.Theme.logoutOn;});
			streampadPlayer.Event.add(logout, 'mouseout', function() {logout.style.backgroundPosition = streampadPlayer.Theme.logoutOff;});
			streampadPlayer.Event.add(logout, 'click', streampadPlayer.Events.oaLogout.request);
			left.appendChild(logout);
		}
		var border = document.createElement('div');
		streampadPlayer.Utils.setStyles(border, {'borderTop' : '1px solid #000000', 'clear' : 'both', 'margin' : '20px'});
		left.appendChild(border);
		var statusCheckbox = document.createElement('input');
		streampadPlayer.Utils.setStyles(statusCheckbox, {'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '0 5px 0 20px'});
		statusCheckbox.setAttribute('type', 'checkbox');
		streampadPlayer.Event.add(statusCheckbox, 'click', function(){ streampadPlayer.flash.getSWF("streampadFlash").setasb(statusCheckbox.checked, streampadPlayer.vars.sn) });
		left.appendChild(statusCheckbox);
		var checkedB = streampadPlayer.flash.getSWF("streampadFlash").getasb(streampadPlayer.vars.sn);
		if (checkedB == true){
			statusCheckbox.setAttribute('checked', 'checked');
		}
		var statusText = document.createElement('div');
		streampadPlayer.Utils.setStyles(statusText, {'fontFamily' : 'arial', 'fontSize' : '12px', 'color' : '#666666', 'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '3px 0 15px 0'});
		statusText.appendChild(document.createTextNode('Update AIM status with current song'));
		left.appendChild(statusText);
		var historyCheckbox = document.createElement('input');
		streampadPlayer.Utils.setStyles(historyCheckbox, {'clear' : 'both', 'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '0 5px 0 20px'});
		historyCheckbox.setAttribute('type', 'checkbox');
		streampadPlayer.Event.add(historyCheckbox, 'click', function(){ streampadPlayer.flash.getSWF("streampadFlash").setdsb(historyCheckbox.checked, streampadPlayer.vars.sn) });
		left.appendChild(historyCheckbox);
		var checkedH = streampadPlayer.flash.getSWF("streampadFlash").getdsb(streampadPlayer.vars.sn);
		if (checkedH == true){
			historyCheckbox.setAttribute('checked', 'true');
		}
		var historyText = document.createElement('div');
		streampadPlayer.Utils.setStyles(historyText, {'fontFamily' : 'arial', 'fontSize' : '12px', 'color' : '#666666', 'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '1px 0 10px 0'});
		historyText.appendChild(document.createTextNode('Keep listening history'));
		left.appendChild(historyText);
		var loginLoader = document.createElement('div');
			loginLoader.setAttribute('id', 'streampadPlayerLoginLoader');
			streampadPlayer.Utils.setStyles(loginLoader, {'background' : 'url('+streampadPlayer.vars.imgHOST+'horizontal-loader-black) no-repeat', 'width' : '96px', 'height' : '12px', 'margin' : '0 0 0 75px', 'clear' : 'both', 'display' : 'none'});
			left.appendChild(loginLoader);
	},
	fillHistoryDrawer : function(){
		streampadPlayer.vars.profileDrawerCategory = 'history';
		this.fillProfileDrawerLeft();
		this.fillProfileDrawerTop();
		streampadPlayer.Charts.getUserPlayHist.request();
	},
	fillBuddiesDrawer : function(){
		var left = document.getElementById('streampadProfileDrawerLeft');
		left.innerHTML = '';
		streampadPlayer.Utils.setStyles(left, {'position' : 'absolute', 'left' : '0', 'top' : '0', 'width' : '270px', 'overflow' : 'hidden', 'height' : streampadPlayer.params.drawersize+'px', 'background' : '#e5e5e5 url('+streampadPlayer.vars.imgHOST+'drawer-left-break) 100% 0 repeat-y'});
		var right = document.getElementById('streampadProfileDrawerRight');
		var profileItems = document.createElement('div');
		profileItems.setAttribute('id', 'streampadProfileItems');
		streampadPlayer.Utils.setStyles(profileItems, {'position' : 'absolute', 'top' : '37px', 'left' : '0', 'bottom' : '0', 'width' : '100%', 'overflow' : 'auto'});
		if (streampadPlayer.browser.engine.trident4){
			profileItems.style.height = (streampadPlayer.params.drawersize-37)+'px';
		}
		right.appendChild(profileItems);
		for (var i = 0; i < 10; i++){
			var buddy = this.createBuddy();
			profileItems.appendChild(buddy);
		}
	},
	createProfileDrawer : function(){
		var drawer = this.createDrawer();
		var left = document.createElement('div');
		left.setAttribute('id', 'streampadProfileDrawerLeft');
		streampadPlayer.Utils.setStyles(left, {'position' : 'absolute', 'left' : '0', 'top' : '0', 'width' : '275px', 'overflow' : 'hidden', 'height' : streampadPlayer.params.drawersize+'px', 'background' : '#e5e5e5 url('+streampadPlayer.vars.imgHOST+'drawer-left-break) 100% 0 repeat-y'});
		drawer.appendChild(left);
		var right = document.createElement('div');
		right.setAttribute('id', 'streampadProfileDrawerRight');
		streampadPlayer.Utils.setStyles(right, {'position' : 'absolute', 'left' : '275px', 'top' : '0', 'right' : '0', 'height' : streampadPlayer.params.drawersize+'px'});
		if (streampadPlayer.browser.engine.trident4){
			right.style.width = streampadPlayer.Utils.getBodyWidth()-275;
		}
		drawer.appendChild(right);
		if (streampadPlayer.vars.sn == null || streampadPlayer.vars.sn == ''){
			this.createSignin();
		} else {
			this.fillProfileDrawer();
		}
	},
	createSignin : function(){
		var left = document.getElementById('streampadProfileDrawerLeft');
		left.innerHTML = '';
		var signinHeader = document.createElement('div');
		signinHeader.setAttribute('id', 'streampadSigninLoader');
		signinHeader.appendChild(document.createTextNode("Log in"));
		streampadPlayer.Utils.setStyles(signinHeader, {'fontSize' : '14px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'color' : '#000000', 'margin' : '15px', 'textIndent' : '30px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.signInIcon});
		left.appendChild(signinHeader);
		if (streampadPlayer.vars.clientLogin == true){
			var form = document.createElement('div');
			streampadPlayer.Utils.setStyles(form, {'width' : '245px', 'height' : '80px', 'margin' : '0 0 0 15px'});
			left.appendChild(form);
			form.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="streampadForm" style="margin:0;"><param name=movie value="'+streampadPlayer.params.lswf+'"><param name=swLiveConnect value="true"><param name=allowScriptAccess value="always"><param name=allowNetworking value="all"><param name=wMode value="transparent"><param name=flashVars value="&callback=streampadPlayer.Events.loginBack"><embed flashVars="callback=streampadPlayer.Events.loginBack" src="'+streampadPlayer.params.lswf+'" type="application/x-shockwave-flash" width="100%" height="100%" allowNetworking="all" allowScriptAccess="always" wMode="transparent" name="streampadForm"></embed></object>';
			var loginButton = document.createElement('div');
			streampadPlayer.Utils.setStyles(loginButton, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.loginOff, 'width' : '46px', 'height' : '18px', 'textDecoration' : 'none', 'display' : 'block', 'margin' : '10px 10px 0 110px', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer', 'display' : 'inline'});
			streampadPlayer.Event.add(loginButton, 'mouseover', function(){ loginButton.style.backgroundPosition = streampadPlayer.Theme.loginOn; });
		    streampadPlayer.Event.add(loginButton, 'mouseout', function(){ loginButton.style.backgroundPosition = streampadPlayer.Theme.loginOff; });
		    streampadPlayer.Event.add(loginButton, 'click', streampadPlayer.Events.loginSubmit);
			left.appendChild(loginButton);
			
			var signUpButton = document.createElement('a');
			signUpButton.setAttribute('href', 'https://new.aol.com/productsweb/?promocode=824114');
			signUpButton.setAttribute('target', '_blank');
			streampadPlayer.Utils.setStyles(signUpButton, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.signUpOff, 'width' : '58px', 'height' : '18px', 'textDecoration' : 'none', 'display' : 'block', 'margin' : '10px 0 20px 0', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer', 'display' : 'inline'});
			streampadPlayer.Event.add(signUpButton, 'mouseover', function(){ signUpButton.style.backgroundPosition = streampadPlayer.Theme.signUpOn; });
		    streampadPlayer.Event.add(signUpButton, 'mouseout', function(){ signUpButton.style.backgroundPosition = streampadPlayer.Theme.signUpOff; });
			left.appendChild(signUpButton);
			
			var loginLoader = document.createElement('div');
			loginLoader.setAttribute('id', 'streampadPlayerLoginLoader');
			streampadPlayer.Utils.setStyles(loginLoader, {'background' : 'url('+streampadPlayer.vars.imgHOST+'horizontal-loader-black) no-repeat', 'width' : '96px', 'height' : '12px', 'margin' : '10px 0 0 115px', 'clear' : 'both', 'display' : 'none'});
			left.appendChild(loginLoader);
		} else {
			var loginButton = document.createElement('a');
			loginButton.setAttribute('href', 'http://music.aol.com/signin?origUrl='+encodeURIComponent(location.href));
			streampadPlayer.Utils.setStyles(loginButton, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.loginOff, 'width' : '46px', 'height' : '18px', 'textDecoration' : 'none', 'display' : 'block', 'margin' : '20px 10px 0 20px', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer', 'display' : 'inline'});
			streampadPlayer.Event.add(loginButton, 'mouseover', function(){ loginButton.style.backgroundPosition = streampadPlayer.Theme.loginOn; });
		    streampadPlayer.Event.add(loginButton, 'mouseout', function(){ loginButton.style.backgroundPosition = streampadPlayer.Theme.loginOff; });
			left.appendChild(loginButton);
			
			var signUpButton = document.createElement('a');
			signUpButton.setAttribute('href', 'https://new.aol.com/productsweb/?promocode=824114');
			streampadPlayer.Utils.setStyles(signUpButton, {'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-sprite) no-repeat '+streampadPlayer.Theme.signUpOff, 'width' : '58px', 'height' : '18px', 'textDecoration' : 'none', 'display' : 'block', 'margin' : '20px 0 0 0', 'cssFloat' : 'left', 'styleFloat' : 'left', 'cursor' : 'pointer', 'display' : 'inline'});
			streampadPlayer.Event.add(signUpButton, 'mouseover', function(){ signUpButton.style.backgroundPosition = streampadPlayer.Theme.signUpOn; });
		    streampadPlayer.Event.add(signUpButton, 'mouseout', function(){ signUpButton.style.backgroundPosition = streampadPlayer.Theme.signUpOff; });
			left.appendChild(signUpButton);
		}
		var right = document.getElementById('streampadProfileDrawerRight');
		right.innerHTML = '';
		var aimHeader = document.createElement('div');
		aimHeader.setAttribute('id', 'streampadAimHeader');
		streampadPlayer.Utils.setStyles(aimHeader, {'height' : '36px', 'lineHeight' : '36px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-right-header) repeat-x', 'width' : '100%', 'fontSize' : '20px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'textIndent' : '30px', 'textAlign' : 'left', 'borderBottom' : '1px solid #D3D4D6'});
		right.appendChild(aimHeader);
		var closeButton = document.createElement('div');
		closeButton.setAttribute('title', 'Close Profile');
		streampadPlayer.Utils.setStyles(closeButton, {'width' : '20px', 'height' : '24px', 'styleFloat' : 'right', 'cssFloat' : 'right', 'background' : 'url('+streampadPlayer.params.btnsprite+streampadPlayer.params.btncolor+'_buttons) '+streampadPlayer.Theme.closeOff+' no-repeat', 'margin' : '5px 10px 0 0', 'cursor' : 'pointer', 'display' : 'inline'});
		streampadPlayer.Event.add(closeButton, 'mouseover', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOn; });
		streampadPlayer.Event.add(closeButton, 'mouseout', function(){ closeButton.style.backgroundPosition = streampadPlayer.Theme.closeOff; });
		streampadPlayer.Event.add(closeButton, 'click', streampadPlayer.Events.profileButtonClick);
		aimHeader.appendChild(closeButton);
		var aimHeaderTitle = document.createElement('div');
		streampadPlayer.Utils.setStyles(aimHeaderTitle, {'textIndent' : '30px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial', 'color' : '#000000'});
		aimHeaderTitle.appendChild(document.createTextNode('Log in with your AOL or AIM screenname'));
		aimHeader.appendChild(aimHeaderTitle);
		loginItems = document.createElement('ul');
		loginItems.setAttribute('id', 'streampadLoginItems');
		streampadPlayer.Utils.setStyles(loginItems, {'position' : 'absolute', 'top' : '37px', 'left' : '0', 'bottom' : '0', 'width' : '100%', 'overflow' : 'auto', 'margin' : '0', 'padding' : '0'});
		if (streampadPlayer.browser.engine.trident4){
			loginItems.style.height = (streampadPlayer.params.drawersize-37)+'px';
		}
		right.appendChild(loginItems);
		var keepTrack = document.createElement('li');
		streampadPlayer.Utils.setStyles(keepTrack, {'margin' : '20px 0 0 50px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial', 'color' : '#000000'});
		keepTrack.appendChild(document.createTextNode('Keep track of what you listened to'));
		loginItems.appendChild(keepTrack);
		var aimStatus = document.createElement('li');
		streampadPlayer.Utils.setStyles(aimStatus, {'margin' : '20px 0 0 50px', 'fontWeight' : 'bold', 'fontFamily' : 'Arial', 'color' : '#000000'});
		aimStatus.appendChild(document.createTextNode("Update your AIM status with what's playing"));
		loginItems.appendChild(aimStatus);
	},
	drawerHeaderShadow : function(side){
		var shadow = document.createElement('div');
		var position = '0 0'
		if (side == 'right'){
			position = '-10px 0';
		}
		streampadPlayer.Utils.setStyles(shadow, {'cssFloat' : 'left', 'styleFloat' : 'left', 'background' : 'url(Buddies/tabshadow_sprite.gif) no-repeat '+position, 'width' : '7px', 'height' : '36px'});
		return shadow;
	},
	createBuddy : function(){
		var div = document.createElement('div');
		streampadPlayer.Utils.setStyles(div, {'cssFloat' : 'left', 'styleFloat' : 'left', 'width' : '220px'});
		var buddyIcon = document.createElement('img');
		buddyIcon.setAttribute('id', 'streampadBuddyIcon');
		buddyIcon.setAttribute('src', 'http://api.oscar.aol.com/expressions/get?t=rgonzalezrey&f=native&type=buddyIcon&defaultId=00052b00003089');
		buddyIcon.setAttribute('height', '50px');
		buddyIcon.setAttribute('width', '50px');
		streampadPlayer.Utils.setStyles(buddyIcon, {'cssFloat' : 'left', 'styleFloat' : 'left', 'margin' : '20px 10px 10px 20px', 'padding' : '4px', 'border' : '1px solid #D6D7DA', 'background' : '#FFFFFF'});
		div.appendChild(buddyIcon);
		var buddyName = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddyName, {'fontSize' : '14px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'color' : '#000000', 'margin' : '20px 0 5px 0'});
		buddyName.appendChild(document.createTextNode('rgonzalezrey'));
		div.appendChild(buddyName);
		var buddyStatus = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddyStatus, {'fontSize' : '12px', 'fontFamily' : 'arial', 'fontWeight' : 'normal', 'fontStyle' : 'italic', 'color' : '#737487', 'margin' : '0 0 8px 0'});
		buddyStatus.appendChild(document.createTextNode('I am away'));
		div.appendChild(buddyStatus);
		var buddyProfileA = document.createElement('a');
		buddyProfileA.setAttribute('href', 'http://music.aol.com/profile/rgonzalezrey');
		buddyProfileA.setAttribute('target', '_blank');
		var buddyProfileD = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddyProfileA, {'cssFloat' : 'left', 'styleFloat' : 'left', 'textDecoration' : 'none'});
		var buddyProfileD = document.createElement('div');
		streampadPlayer.Utils.setStyles(buddyProfileD, {'background' : 'url(Buddies/view_profile_notext.gif)', 'height' : '15px', 'width' : '85px', 'color' : '#FFFFFF', 'fontSize' : '10px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'cursor' : 'pointer', 'textAlign' : 'center'});
		buddyProfileD.appendChild(document.createTextNode('view profile'));
		streampadPlayer.Event.add(buddyProfileD, 'mouseover', function() {buddyProfileD.style.backgroundPosition = '-85px 0';});
		streampadPlayer.Event.add(buddyProfileD, 'mouseout', function() {buddyProfileD.style.backgroundPosition = '0 0';});
		buddyProfileA.appendChild(buddyProfileD);
		div.appendChild(buddyProfileA);
		return div;
	},
	fillHistoryItems : function(data){
		if (data.userplayhistory.userplayhistoryitem){
			var len = data.userplayhistory.userplayhistoryitem.length;
			if (len > 0){
				var right = document.getElementById('streampadProfileDrawerRight');
				//right.innerHTML = '';
				var profileItems = document.createElement('div');
				profileItems.setAttribute('id', 'streampadProfileItems');
				streampadPlayer.Utils.setStyles(profileItems, {'position' : 'absolute', 'top' : '37px', 'left' : '0', 'bottom' : '0', 'width' : '100%', 'overflow' : 'auto'});
				if (streampadPlayer.browser.engine.trident4){
					profileItems.style.height = (streampadPlayer.params.drawersize-37)+'px';
				}
				right.appendChild(profileItems);
				for (var i = 0; i < len; i++){
					var historyItem = data.userplayhistory.userplayhistoryitem[i];
					var playlistItem = document.createElement('div');
					playlistItem.style.height = '60px';
					if (streampadPlayer.browser.engine.trident4){
						playlistItem.style.width = '97%';
					} else {
						playlistItem.style.width = '100%';
					}
					playlistItem.style.overflow = 'hidden';
					playlistItem.style.position = 'relative';
					profileItems.appendChild(playlistItem);
					var d = new Date();
					var ctime = parseInt(historyItem.ctime);
					var tzo = parseInt(historyItem.tzo);
					d.setTime(ctime * 1000 - tzo * 60000);
					var ampm = "am";
					var timeStringData = d.getHours();
					if (timeStringData > 12){
						timeStringData = timeStringData - 12;
						ampm = "pm";
					}
					var timeString = document.createElement('div');
					timeString.style.position = 'absolute';
					timeString.style.top = '10px';
					timeString.style.left = '30px';
					timeString.style.width = '80px';
					timeString.style.textAlign = 'right';
					timeString.style.color = '#000000';
					timeString.style.fontFamily = 'arial';
					timeString.style.fontSize = '14px';
					timeString.style.fontWeight = 'bold';
					var mins = d.getMinutes();
					if (mins < 10){
						mins = "0"+mins;
					}
					timeString.appendChild(document.createTextNode(timeStringData+":"+mins+" "+ampm));
					playlistItem.appendChild(timeString);
					var dateString = document.createElement('div');
					dateString.style.position = 'absolute';
					dateString.style.top = '27px';
					dateString.style.left = '30px';
					dateString.style.width = '80px';
					dateString.style.textAlign = 'right';
					dateString.style.color = '#666666';
					dateString.style.fontFamily = 'arial';
					dateString.style.fontSize = '12px';
					var year = d.getFullYear();
					year = year+"";
					year = year.substr(2);
					dateString.appendChild(document.createTextNode(d.getMonth()+1+"/"+d.getDate()+"/"+year));
					playlistItem.appendChild(dateString);
					var songTitle = document.createElement('a');
					songTitle.style.position = 'absolute';
					songTitle.style.left = '130px';
					songTitle.style.right = '0';
					songTitle.style.height = '16px';
					songTitle.style.top = '10px';
					songTitle.style.color = '#000000';
					songTitle.style.fontFamily = 'arial';
					songTitle.style.fontSize = '14px';
					songTitle.style.fontWeight = 'bold';
					songTitle.style.overflow = 'hidden';
					songTitle.style.textAlign = 'left';
					songTitle.style.lineHeight = 'normal';
					songTitle.style.textDecoration = 'none';
					if (historyItem.tracktitle != null){
						songTitle.appendChild(document.createTextNode(historyItem.tracktitle));
					} else {
						//songTitle.innerHTML = streampadPlayer.Playlist.array[i].text;
					}
					if (historyItem.trackaolid != null){
						songTitle.setAttribute('target', 'blank');
						songTitle.setAttribute('href', 'http://music.aol.com/song/id/'+historyItem.trackaolid);
						streampadPlayer.Event.add(songTitle, 'mouseover', streampadPlayer.UI.underlineElement);
						streampadPlayer.Event.add(songTitle, 'mouseout', streampadPlayer.UI.noUnderlineElement);
					}
					playlistItem.appendChild(songTitle);
					var artist = document.createElement('a');
					artist.setAttribute('id', 'streampadHistoryArtist'+i);
					artist.style.color = '#666666';
					artist.style.fontFamily = 'arial';
					artist.style.fontSize = '12px';
					artist.style.position = 'absolute';
					artist.style.left = '130px';
					artist.style.right = '0';
					artist.style.height = '14px';
					artist.style.top = '28px';
					artist.style.overflow = 'hidden';
					artist.style.textAlign = 'left';
					artist.style.lineHeight = 'normal';
					artist.style.textDecoration = 'none';
					if (historyItem.artistname != null){
						artist.appendChild(document.createTextNode(historyItem.artistname));
					} else {
						artist.appendChild(document.createTextNode(''));
					}
					if (historyItem.artistaolid != null){
						artist.setAttribute('target', 'blank');
						artist.setAttribute('href', 'http://music.aol.com/artist/id/'+historyItem.artistaolid);
						streampadPlayer.Event.add(artist, 'mouseover', streampadPlayer.UI.underlineElement);
						streampadPlayer.Event.add(artist, 'mouseout', streampadPlayer.UI.noUnderlineElement);
					}
					playlistItem.appendChild(artist);
					if (historyItem.sourceuri != null){
						var sourceu = document.createElement('a');
						sourceu.appendChild(document.createTextNode("via: "+historyItem.sourceuri));
						sourceu.setAttribute('href', historyItem.sourceuri);
						sourceu.setAttribute('target', 'blank');
						streampadPlayer.Event.add(sourceu, 'mouseover', streampadPlayer.UI.underlineElement);
						streampadPlayer.Event.add(sourceu, 'mouseout', streampadPlayer.UI.noUnderlineElement);
					} else {
						var sourceu = document.createElement('div');
						sourceu.appendChild(document.createTextNode("via: "+historyItem.devicename));
					}
					sourceu.style.color = '#666666';
					sourceu.style.fontFamily = 'arial';
					sourceu.style.fontSize = '10px';
					sourceu.style.position = 'absolute';
					sourceu.style.left = '130px';
					sourceu.style.right = '0';
					sourceu.style.height = '14px';
					sourceu.style.top = '42px';
					sourceu.style.overflow = 'hidden';
					sourceu.style.textAlign = 'left';
					sourceu.style.lineHeight = 'normal';
					sourceu.style.textDecoration = 'none';
					playlistItem.appendChild(sourceu);
					var divider = document.createElement('div');
					divider.style.height = '1px';
					if (streampadPlayer.browser.engine.trident4){
						divider.style.width = '97%';
					} else {
						divider.style.width = '100%';
					}
					divider.style.overflow = 'hidden';
					divider.style.background = 'url('+streampadPlayer.vars.imgHOST+'playlist-item-divider) no-repeat';
					playlistItem.appendChild(divider);
					
					}
			} else {
			
			}
		} else {
		
		}
	},
	underlineElement : function(e){
		e = e||window.event
		var target = e.currentTarget||e.srcElement;
		target.style.textDecoration = 'underline';
	},
	noUnderlineElement : function(e){
		e = e||window.event
		var target = e.currentTarget||e.srcElement;
		target.style.textDecoration = 'none';
	},
	buttonBorder : function(borderNum, onOff){
		document.getElementById('streampadPlayerBorderNum'+borderNum).style.backgroundPosition = streampadPlayer.Theme[onOff];
		var borderNumLeft = (parseInt(borderNum))+(1);
		document.getElementById('streampadPlayerBorderNum'+(borderNumLeft+'')).style.backgroundPosition = streampadPlayer.Theme[onOff];
	},
	setLoggedIn : function(){
		streampadPlayer.Theme.profileOff = '-170px 8px';
		streampadPlayer.Theme.profileOn = '-384px 8px';
		document.getElementById('streampadProfileButton').style.backgroundPosition = streampadPlayer.Theme.profileOff;
	}
};
streampadPlayer.flash = {
    getSWF : function(n) {
        var isIE = navigator.appName.indexOf("Microsoft") != -1;
        return (isIE) ? window[n] : document[n];
    },
    /* called from Flash when the swf is initially loaded */
    loaded : function(volume, sn){
    	window.clearTimeout(streampadPlayer.vars.isFlashLoaded);
    	if (streampadPlayer.vars.clientLogin == true){
    		if (sn != null){
    			streampadPlayer.vars.sn = sn;
    			streampadPlayer.UI.setLoggedIn();
    		}
    	}
    	streampadPlayer.vars.theVolume = volume;
    	streampadPlayer.vars.volumeDraggerY = (volume*-100)+103;
    	if (streampadPlayer.vars.volumeDraggerY > 103){
			streampadPlayer.vars.volumeDraggerY = 102;			
		}
		if (streampadPlayer.vars.volumeDraggerY < 12){
			streampadPlayer.vars.volumeDraggerY = 12;
		}
    	streampadPlayer.Event.fire(window, 'flashLoaded', null);
    },
    setVolume : function(volume){
    	streampadPlayer.vars.theVolume = volume;
    	streampadPlayer.vars.volumeDraggerY = (volume*-100)+103;
    	if (streampadPlayer.vars.volumeDraggerY > 103){
			streampadPlayer.vars.volumeDraggerY = 102;			
		}
		if (streampadPlayer.vars.volumeDraggerY < 12){
			streampadPlayer.vars.volumeDraggerY = 12;
		}
		streampadPlayer.flash.getSWF("streampadFlash").setVolume(streampadPlayer.vars.theVolume);
    },
    getVolume : function(){
    	return streampadPlayer.vars.theVolume;
    },
    getQueueNumber : function(){
    	return streampadPlayer.vars.queueNumber;
    },
    getPlaylist : function(){
    	return streampadPlayer.Playlist.array;
    }
};
/* Event object which handles listening and firing of events */
streampadPlayer.Event = {
	listeners : {},
	add : function(target, type, fn){
		if (typeof this.listeners[type+target] == 'undefined') {
            this.listeners[type+target] = [];
        }
    	this.listeners[type+target].push(fn);
		if (target.addEventListener) {
	        target.addEventListener(type, fn, false);
		} else {
			target.attachEvent('on' + type, fn);
		}
	},
	remove : function(target, type, fn){
		if (typeof this.listeners[type+target] != 'undefined') {
			for (var i = 0, l; l = this.listeners[type+target][i]; i++) {
                if (l == fn) break;
            }
            this.listeners[type+target].splice(i, 1);
        }
		if (target.removeEventListener) {
			target.removeEventListener(type, fn, false);
		} else { 
			target.detachEvent('on' + type, fn);
		}
	},
	fire : function(target, type, object){
		if (typeof this.listeners[type+target] != 'undefined' && this.listeners[type+target].length) {
            for (var i = 0, l; l = this.listeners[type+target][i]; i++) {
            	l(object);
            }
            return true;           
        }
        return false;
	},
	stop : function(e){
		try {
			e.stopPropagation();
		} catch (e){
			try {
				window.event.cancelBubble = true;
			} catch (e) {}
		}
	}
};
/* playlists should create a songVO and then call streampadPlayer.Playlist.push(songVO)*/
streampadPlayer.SongVO = function(){
	this.text = null;
	this.enclosure = null;
	this.plays = null;
	this.sourceUrl = null;
	this.artist = null;
	this.artistAolId = null;
	this.album = null;
	this.albumAolId = null;
	this.songTitle = null;
	this.trackAolId = null;
	this.imageUrl = null;
	this.timestamp = null;
	this.itunes = null;
	this.amazon = null;
	this.description = null;
	this.clickFunction = null;
};
/* Main playlist. playlists should push songVO's into this array */
streampadPlayer.Playlist = {
	array : [],
	push : function(object){
		this.array.push(object);
		if (streampadPlayer.vars.isWinamp){
			if (this.length == null){
				var r = window.external.PlayQueue.ClearQueue();
			}
			window.external.PlayQueue.Enqueue(object.enclosure, object.songTitle);
		}
		this.length = this.array.length;
	},
	title : document.title,
	length : null
};
/* call these functions to play a song.  */
streampadPlayer.Play = {
	/* internal method */
	play : function(){
		streampadPlayer.vars.isPlaying = true;
		if (streampadPlayer.vars.isWinamp){
			window.external.PlayQueue.cursor = streampadPlayer.vars.queueNumber;
			window.external.Transport.Play();
		} else {
			streampadPlayer.flash.getSWF("streampadFlash").playSong(streampadPlayer.vars.currentSongVO);
		} 
		streampadPlayer.Event.fire(window, 'setCurrent', streampadPlayer.vars.queueNumber);
	},
	/* plays a songVO from streampadPlayer.Playlist */
	queueNumber : function(n){
		if (n >= streampadPlayer.Playlist.length)
		return;
		streampadPlayer.vars.queueNumber = n;
		streampadPlayer.vars.currentSongVO = streampadPlayer.Playlist.array[n];
		streampadPlayer.UI.setCurrent(streampadPlayer.vars.currentSongVO);
		this.play();
	},
	/* Insert into current queueNumber and immediately play this songVO */
	songVO : function(songVO){
		streampadPlayer.Playlist.array.splice(streampadPlayer.vars.queueNumber, 0, songVO);
		this.queueNumber(streampadPlayer.vars.queueNumber);
	},
	/* immediately play this enclosure */
	enclosure : function(e){
		var songVO = new streampadPlayer.SongVO();
		songVO.enclosure = e;
		this.songVO(songVO);
	}
};
/* Utility functions */
streampadPlayer.Utils = {
	trimString : function(string, count){
		if (string.length > count){
			return string.slice(string, count)+'...';
		} else {
			return string;
		}
	},
	getBodyHeight : function(){
		if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			return document.documentElement.clientHeight;
  		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
   			return document.body.clientHeight;
		}
	},
	getBodyWidth : function(){
		if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			return document.documentElement.clientWidth;
  		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
   			return document.body.clientWidth;
		}
	},
	getWidthMarginSize : function(){
		var windowWidth = streampadPlayer.Utils.getBodyWidth();
		var bodyWidth = document.body.clientWidth;
		var marginSize = (windowWidth - bodyWidth) / 2;
		if (marginSize > 0) {
			return marginSize;
		} else {
			return 0;
		}
	},
	flashLoaded : function(){
		alert("It seems you don't have the latest version of Flash installed. Please visit http://get.adobe.com/flashplayer/ to get the latest version.");
	},
	scriptRequest : function(url){
		var s = document.createElement('script');
		s.setAttribute('src', url);
		var bottomBar = document.getElementById('streampadBottomBar');
		bottomBar.appendChild(s);
	},
	scriptClean : function(){
		var bottomBar = document.getElementById('streampadBottomBar');
		var scripts = bottomBar.getElementsByTagName('script');
		for (i=0; i < scripts.length; i++){
			try {
				bottomBar.removeChild(scripts[i]);
			} catch (e){}
		}	
	},
	setStyles : function(element, styleObject){
		for (i in styleObject){
			element.style[i] = styleObject[i];
		}
	},
	getX : function(o){ 
		var x = o.offsetLeft
		if (o.offsetParent) while (o.offsetParent) { o = o.offsetParent; x += o.offsetLeft }
		return x
	},
	getY : function(o){
		var s = o
		var y = o.offsetTop
		if (o.offsetParent) while (o.offsetParent) { o = o.offsetParent; y += o.offsetTop }
		var html = document.getElementsByTagName('html')[0]
		if (s.parentNode) while(s.parentNode) {
			s = s.parentNode
			if (s.scrollTop && s != document && s != document.body && s != html) y -= s.scrollTop
		}
		return y
	},
	chunk : function(a, s){
    for(var x, i = 0, c = -1, l = a.length, n = []; i < l; i++)
        (x = i % s) ? n[c][x] = a[i] : n[++c] = [a[i]];
    	return n;
	}
}
/* Now Playing */
streampadPlayer.NowPlaying = {
	meta : {
		playlistLength : 0,
		determine : function(){
			if (streampadPlayer.vars.getAudioMeta == true){
				var array = [];
				var l = streampadPlayer.Playlist.length - streampadPlayer.NowPlaying.meta.playlistLength;
				for (i = streampadPlayer.NowPlaying.meta.playlistLength; i < streampadPlayer.Playlist.length; i++){
					var o = {"sourceUrl" : streampadPlayer.Playlist.array[i].sourceUrl, "enclosure" : streampadPlayer.Playlist.array[i].enclosure};
					array.push(o); 
				}
				var bigArray = streampadPlayer.Utils.chunk(array, 20);
				for (var j = 0; j < bigArray.length; j++){
					var newArray = bigArray[j];
					newArray = streampadPlayer.flash.getSWF("streampadFlash").JSONEncode(newArray);
					newArray = escape(newArray);
					streampadPlayer.NowPlaying.meta.request(newArray);
					streampadPlayer.NowPlaying.meta.playlistLength = streampadPlayer.Playlist.length;
				}
			}
		},
		request : function(data){
			if (data.length > 20)
			streampadPlayer.flash.getSWF("streampadFlash").jsonPoster(streampadPlayer.params.metaurl, 'f=json&data='+data, 'streampadPlayer.NowPlaying.meta.response', "POST");
		},
		response : function(json){
			if (json.response.statusCode == 200){
				try {
					if (json.response.data.streams.stream.length != undefined){
						for (j = 0; j < json.response.data.streams.stream.length; j++){
							var object = json.response.data.streams.stream[j];
							this.matchSongs(object);
							if (streampadPlayer.params.showdrawer){
								streampadPlayer.UI.fillPlaylistItems();
								streampadPlayer.UI.fillPlaylistDrawer();
							}
						}	
					} 
				} catch (e){}
			}
		},
		matchSongs : function(object){
			for (i = 0; i < streampadPlayer.Playlist.length; i++){
				if (object.enclosure == streampadPlayer.Playlist.array[i].enclosure){
					try {
						if (object.songTitle != 'null'){
							streampadPlayer.Playlist.array[i].songTitle = object.songTitle;
						}
					} catch(e){}
					try {
						if (object.artist != 'null'){
							streampadPlayer.Playlist.array[i].artist = object.artist;
						}
					} catch(e){}
					try {
						if (object.album != 'null'){
							streampadPlayer.Playlist.array[i].album = object.album;
						}
					} catch(e){}
					try {
						if (object.imageUrl != 'null' && streampadPlayer.Playlist.array[i].imageUrl == null){
							if (object.imageUrl == 'http://o.aolcdn.com/art/ch_music2/no_art.jpg'){
								object.imageUrl = 'http://o.aolcdn.com/art/sp/no-album-cover-150';
							}
							streampadPlayer.Playlist.array[i].imageUrl = object.imageUrl;
						}
					} catch(e){}
					try {
						if (object.artistAolId != 'null'){
							streampadPlayer.Playlist.array[i].artistAolId = object.artistAolId;
						}
					} catch(e){}
					try {
						if (object.trackAolId != 'null'){
							streampadPlayer.Playlist.array[i].trackAolId = object.trackAolId;
						}
					} catch(e){}
					try {
						if (object.albumAolId != 'null'){
							streampadPlayer.Playlist.array[i].albumAolId = object.albumAolId;
						}
					} catch(e){}
				}
			}
		}	
	},
	set : {
		request : function(){
			if (streampadPlayer.vars.currentSongVO.enclosure != null){
				object = {};
				object.enclosure = streampadPlayer.vars.currentSongVO.enclosure;
				if (streampadPlayer.vars.currentSongVO.songTitle != null){
					object.songTitle = streampadPlayer.vars.currentSongVO.songTitle;
				} else {
					object.songTitle = streampadPlayer.vars.currentSongVO.text.substring(0, 30);
				}
				if (streampadPlayer.vars.currentSongVO.artist != null){
					object.artist = streampadPlayer.vars.currentSongVO.artist;
				}
				if (streampadPlayer.vars.currentSongVO.album != null){
					object.album = streampadPlayer.vars.currentSongVO.album;
				}
				if (streampadPlayer.vars.currentSongVO.imageUrl != null){
					object.imageUrl = streampadPlayer.vars.currentSongVO.imageUrl;
				}
				if (streampadPlayer.vars.currentSongVO.sourceUrl != null){
					object.sourceUrl = streampadPlayer.vars.currentSongVO.sourceUrl;
				}
				if (streampadPlayer.vars.currentSongVO.artistAolId != null){
					object.artistAolId = streampadPlayer.vars.currentSongVO.artistAolId;
				}
				if (streampadPlayer.vars.currentSongVO.trackAolId != null){
					object.trackAolId = streampadPlayer.vars.currentSongVO.trackAolId;
				}
				object.tzo = new Date().getTimezoneOffset();
				object = streampadPlayer.flash.getSWF("streampadFlash").JSONEncode(object);
				object = encodeURIComponent(object);
				streampadPlayer.Utils.scriptRequest(streampadPlayer.params.nowplayingurl+'set?c=streampadPlayer.NowPlaying.set.response&f=json&data='+object);
			}
		},
		response : function(json){
			//console.log(json);
		}
	}
}
if (streampadPlayer.vars.getAudioMeta == true){
	streampadPlayer.Event.add(window, 'gotPlaylist', streampadPlayer.NowPlaying.meta.determine);
}
streampadPlayer.Event.add(window, 'setCurrent', streampadPlayer.NowPlaying.set.request);
/* hack for IE6 to show alpha pngs */
function streampadPlayerFixPNG(el) {
    if (streampadPlayer.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] + ")";
    }
};
/* omniture */
streampadPlayer.Omni = {
	request : function(){
		var omnTS=new Date();
		var omnTS1=omnTS.getDate()+'/'+omnTS.getMonth()+'/'+omnTS.getFullYear()+' '+omnTS.getHours()+':'+omnTS.getMinutes()+':'+omnTS.getSeconds()+' '+omnTS.getDay()+' '+omnTS.getTimezoneOffset();
 	var omUrl='http://o.sa.aol.com/b/ss/' + 'aolstreampadapp' + '/1/H.15.1/' +Math.ceil(Math.random()*100000000000000) +'?[AQB]&ndh=1&t='+encodeURIComponent(omnTS1) +'&ns=aolllc&cl=63072000' +'&pageName=' +encodeURIComponent(streampadPlayer.Playlist.title)+'&c1='+streampadPlayer.vars.playlistType+'&c12='+encodeURIComponent(streampadPlayer.vars.siteId) +'&c16='+streampadPlayer.vars.total+'&g='+encodeURIComponent(document.URL)+'&pe=lnk_o' +'&pev2='+encodeURIComponent(streampadPlayer.Playlist.title)+'&[AQE]';
		var i = new Image();
		i.setAttribute('src', omUrl);
		var dlUrl = "http://b.aol.com/ping?h="+encodeURIComponent('streampad.com')+"&ts="+omnTS.getTime()+"&r="+encodeURIComponent(streampadPlayer.vars.siteId)+"&p="+encodeURIComponent(streampadPlayer.Playlist.title)+"&t="+streampadPlayer.vars.playlistType+"&s="+streampadPlayer.vars.total;
		var di = new Image();
		di.setAttribute('src', dlUrl);
	}
}
streampadPlayer.AIM = {
	status : {
		set : {
			request : function(){
				if (streampadPlayer.vars.clientLogin == true){
					if (streampadPlayer.flash.getSWF("streampadFlash").getasb(streampadPlayer.vars.sn)){
						streampadPlayer.flash.getSWF("streampadFlash").setStatus('streampadPlayer.AIM.status.set.response');
					}
				} else {
					if (streampadPlayer.vars.currentSongVO.songTitle != null){
						var artist = '';
						if (streampadPlayer.vars.currentSongVO.artist != null){
							artist = ' by '+streampadPlayer.vars.currentSongVO.artist;
						}
						if (streampadPlayer.OpenAuth.token != null){
							if (streampadPlayer.flash.getSWF("streampadFlash").getasb(streampadPlayer.vars.sn)){
								streampadPlayer.Utils.scriptRequest(streampadPlayer.params.aimurl+'presence/setStatus?f=json&c=streampadPlayer.AIM.status.set.response&k='+streampadPlayer.OpenAuth.devId+'&a='+streampadPlayer.OpenAuth.token+'&statusMsg=%E2%99%AB%20'+encodeURIComponent(streampadPlayer.vars.currentSongVO.songTitle+artist+' | Streampad'));
							}
						}
					} 
				}
			},
			response : function(json){
				try {
					//console.log(json);
				} catch (e) {}
			}
		}
	}
}
streampadPlayer.Event.add(window, 'setCurrent', streampadPlayer.AIM.status.set.request);
/* browser detection adapted from MooTools 1.2 */
streampadPlayer.browser = {};
if (window.opera) streampadPlayer.browser.engine = {name: 'presto', version: (document.getElementsByClassName) ? 950 : 925};
else if (window.ActiveXObject) streampadPlayer.browser.engine = {name: 'trident', version: (window.XMLHttpRequest) ? 5 : 4};
else if (!navigator.taintEnabled) streampadPlayer.browser.engine = {name: 'webkit', version: (document.evaluate) ? 420 : 419};
else if (document.getBoxObjectFor != null) streampadPlayer.browser.engine = {name: 'gecko', version: (document.getElementsByClassName) ? 19 : 18};
streampadPlayer.browser.engine[streampadPlayer.browser.engine.name] = streampadPlayer.browser.engine[streampadPlayer.browser.engine.name + streampadPlayer.browser.engine.version] = true;
try {
	window.external.Transport.RegisterForEvents(streampadPlayer.Events.winampTransport);
	streampadPlayer.vars.isWinamp = true;
} catch (e){
	streampadPlayer.vars.isWinamp = false;
}
(function(){
	var domready = function(){
		if (streampadPlayer.browser.loaded) return;
		streampadPlayer.browser.loaded = true;
		streampadPlayer.init();
	};
	switch (streampadPlayer.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:
			streampadPlayer.Event.add(window, 'load', domready);
			streampadPlayer.Event.add(document, 'DOMContentLoaded', domready);
		}
})();
/* listen for browser resize events */
streampadPlayer.Event.add(window, 'resize', streampadPlayer.UI.resize);
/* ie6 hack for scrolling */
if (streampadPlayer.browser.engine.trident4){
	document.execCommand("BackgroundImageCache", false, true);
	streampadPlayer.Event.add(window, 'scroll', streampadPlayer.Events.scrollHandler);
}
streampadPlayer.OpenAuth = {
	token : null,
	devId : null,
	setToken : function(_devId, _token){
		this.devId = _devId;
		this.token = _token;
	}
}
streampadPlayer.Charts = {
	getUserPlayHist : {
		request : function(){
			var right = document.getElementById('streampadProfileDrawerRight');
			var loadingDiv = document.createElement('div');
			loadingDiv.setAttribute('id', 'streampadPlayerHistoryLoader');
			streampadPlayer.Utils.setStyles(loadingDiv, {'background' : 'url('+streampadPlayer.vars.imgHOST+'horizontal-loader-black) no-repeat', 'width' : '96px', 'height' : '12px', 'position' : 'absolute', 'top' : '100px', 'left' : '45%'});
			right.appendChild(loadingDiv)
			if (streampadPlayer.vars.clientLogin == true){
				streampadPlayer.flash.getSWF("streampadFlash").getUserPlayHist('streampadPlayer.Charts.getUserPlayHist.response');
			} else {
				if (streampadPlayer.OpenAuth.token != null){
					streampadPlayer.Utils.scriptRequest(streampadPlayer.params.chartsurl+'getUserPlayHist?f=json&t='+streampadPlayer.vars.sn+'&devId='+streampadPlayer.OpenAuth.devId+'&c=streampadPlayer.Charts.getUserPlayHist.response&a='+streampadPlayer.OpenAuth.token+'&device=streampad&device=itunes&device=winamp&rows=20');
				}
			}
		},
		response : function(json){
			var right = document.getElementById('streampadProfileDrawerRight');
			var loadingDiv = document.getElementById('streampadPlayerHistoryLoader');
			right.removeChild(loadingDiv);
			if (json.response.statusCode == 200){
				streampadPlayer.UI.fillHistoryItems(json.response.data);
			}
		}
	},
	setPlayData : {
		request : function(){
			var tzo = new Date().getTimezoneOffset();
			var app = encodeURIComponent(location.host);
			if (app.length > 3){
					app = app.slice(0,63);
			}
			if (streampadPlayer.vars.clientLogin == true){
				if (streampadPlayer.flash.getSWF("streampadFlash").getdsb(streampadPlayer.vars.sn)){
					streampadPlayer.flash.getSWF("streampadFlash").setPlayData(streampadPlayer.vars.currentSongVO, tzo, app, 'streampad', 'streampadPlayer.Charts.setPlayData.response');
				}
			} else {
				if (streampadPlayer.OpenAuth.token != null){
					var requestString = '&tzo='+tzo;
					if (streampadPlayer.vars.currentSongVO.songTitle != null){
							requestString += '&ttitle='+escape(streampadPlayer.vars.currentSongVO.songTitle);
						} else {
							requestString += '&ttitle='+escape(streampadPlayer.vars.currentSongVO.text.substring(0, 30));
						}
					if (streampadPlayer.vars.currentSongVO.artist != null){
						requestString += '&aname='+escape(streampadPlayer.vars.currentSongVO.artist);
					}
					if (streampadPlayer.vars.currentSongVO.album != null){
						requestString += '&altitle='+escape(streampadPlayer.vars.currentSongVO.album);
					}
					if (streampadPlayer.vars.currentSongVO.sourceUrl != null){
						requestString += '&source='+escape(streampadPlayer.vars.currentSongVO.sourceUrl);
					}
					if (streampadPlayer.vars.currentSongVO.artistAolId != null){
						requestString += '&aid='+escape(streampadPlayer.vars.currentSongVO.artistAolId);
					}
					if (streampadPlayer.vars.currentSongVO.trackAolId != null){
						requestString += '&tid='+escape(streampadPlayer.vars.currentSongVO.trackAolId);
					}
					if (streampadPlayer.vars.currentSongVO.albumAolId != null){
						requestString += '&alid='+escape(streampadPlayer.vars.currentSongVO.albumAolId);
					}
					if (streampadPlayer.vars.currentSongVO.enclosure != null){
						requestString += '&asset='+escape(streampadPlayer.vars.currentSongVO.enclosure);
					}
					if (streampadPlayer.flash.getSWF("streampadFlash").getdsb(streampadPlayer.vars.sn)){
						streampadPlayer.Utils.scriptRequest(streampadPlayer.params.chartsurl+'SetPlayData?f=json&c=streampadPlayer.Charts.setPlayData.response&devId='+streampadPlayer.OpenAuth.devId+'&a='+streampadPlayer.OpenAuth.token+'&appname='+app+'&device=streampad'+requestString);
					}
				}
			}
		},
		response : function(json){
			//console.log(json)
		}
	}
}
/*
name: sp-player-tumblr
$Rev: 33729 $
$Date: 2008-12-08 17:29:22 -0500 (Mon, 08 Dec 2008) $
author: Dan Kantor
/////////////////////
dependencies:
1. sp-player.js
////////////////////
*/
//////////////////////////////////////////////////////////////
streampadPlayerBlog = {
	start : 0,
	num : 20,
	init : function(){
		streampadPlayer.Event.remove(window, 'init', streampadPlayerBlog.init);
		streampadPlayer.vars.playlistType = 'tumblr';
		if (streampadPlayer.params.api == null){
			streampadPlayerBlog.playlistParam = location.hostname;
		} else {
			streampadPlayerBlog.playlistParam = streampadPlayer.params.api;
		}
		if (streampadPlayer.params.popup == 'true'){
			try {
				//document.getElementById('tumblr_controls').style.display = 'none';
			} catch (e){}
		}
	},
	getAudio : function(){
		streampadPlayer.UI.setCaption('Loading Audio Posts...');
		streampadPlayer.Utils.scriptRequest('http://'+streampadPlayerBlog.playlistParam+'/api/read/json?callback=streampadPlayerBlog.getAudioResponse&type=audio&start='+streampadPlayerBlog.start+'&num='+streampadPlayerBlog.num);
	},
	getAudioResponse : function(json){
		if (json.posts.length > 0){
			for (i=0; i<json.posts.length; i++){
				var src = json.posts[i]['audio-player'].split('audio_file=');
				var file = src[1].split('&color=');
				var enclosure = file[0]+'?plead=please-dont-download-this-or-our-lawyers-wont-let-us-host-audio';
				var songVO = new streampadPlayer.SongVO();
				songVO.text = json.posts[i]['audio-caption'].replace(/(<([^>]+)>)/ig,"");
				songVO.description = json.posts[i]['audio-caption'];
				songVO.enclosure = enclosure;
				songVO.sourceUrl = json.posts[i]['url'];
				songVO.plays = json.posts[i]['audio-plays']
				streampadPlayer.Playlist.push(songVO);
			}
			streampadPlayer.Playlist.title = json.tumblelog.title;
			streampadPlayerBlog.start = streampadPlayerBlog.start+json.posts.length;
			streampadPlayer.vars.total = json['posts-total'];
			streampadPlayer.Play.queueNumber(streampadPlayer.vars.queueNumber); 
		} else {
			streampadPlayer.UI.noAudioPosts();
		}
		streampadPlayer.Event.fire(window, 'gotPlaylist', json);
	},
	handleMore : function(){
		if (streampadPlayer.vars.queueNumber < streampadPlayer.vars.total-1){
			streampadPlayer.vars.queueNumber++;	
			streampadPlayerBlog.getAudio();
		}
	}
}
streampadPlayer.Event.add(window, 'init', streampadPlayerBlog.init);
streampadPlayer.Event.add(window, 'flashLoaded', streampadPlayerBlog.getAudio);
streampadPlayer.Event.add(window, 'handleMore', streampadPlayerBlog.handleMore);