/*
name: sp-player
$Rev$
$Date$
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/',
	//imgHOST : 'http://streampad.office.aol.com/cdnimages/',
	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
};
streampadPlayer.params = {
	height : 30,
	showdrawer : false,
	drawersize : '215',
	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',
	poweredbycolor : 'A0ABD8',
	trackcolor : 'FFFFFF',
	btncolor : 'white-navy',
	progressbackcolor : 'FFFFFF',
	progressfrontcolor : 'CCCCCC',
	visible : 'true',
	showvolumebutton : 'true'
};
////////////////////////////////////////////////////
/* called on domready. gets params from script tag url and initializes UI */
streampadPlayer.init = function(){
	if (!streampadPlayer.vars.init){
		streampadPlayer.vars.init = true;
		var scripts = document.getElementsByTagName('SCRIPT');
		for(i=0; i<scripts.length; i++){
			var src = scripts[i].getAttribute('src');
			try {
				if (src.indexOf('sp-player.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;
		}
		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);
        }
    },
    /* 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-146;
				} 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.Playlist.array[streampadPlayer.vars.queueNumber].date = new Date();
		streampadPlayer.flash.getSWF("streampadFlash").setHistory(streampadPlayer.Playlist.array[streampadPlayer.vars.queueNumber]);
		streampadPlayer.Event.fire(window, 'setPlay', streampadPlayer.Playlist.array[streampadPlayer.vars.queueNumber]);*/	
	},
	/* 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');
	},
	/* 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 = '-58px 0';
	},
	playlistButtonMouseOut : function(){
		var playlistButton = document.getElementById('streampadPlaylistButton');
		if (streampadPlayer.params.showdrawer){
			playlistButton.style.backgroundPosition = '-58px 0';
		} else {
			playlistButton.style.backgroundPosition = '0 0';
		}
	},
	playlistButtonClick : function(){
		streampadPlayer.Event.remove(window, 'gotPlaylist', streampadPlayer.Events.playlistButtonClick);
		var playlistButton = document.getElementById('streampadPlaylistButton');
		if (streampadPlayer.params.showdrawer){
			streampadPlayer.params.showdrawer = false;
			playlistButton.style.backgroundPosition = '0 0';
			playlistButton.setAttribute('title', 'Open Playlist');
			streampadPlayer.UI.destroyDrawer();
			streampadPlayer.Event.remove(window, 'setCurrent', streampadPlayer.UI.fillPlaylistDrawer);
			streampadPlayer.Event.remove(window, 'gotPlaylist', streampadPlayer.UI.fillPlaylistItems);
		} else {
			streampadPlayer.params.showdrawer = true;
			playlistButton.style.backgroundPosition = '-58px 0';
			playlistButton.setAttribute('title', 'Close Playlist');
			streampadPlayer.UI.createPlaylistDrawer();
			streampadPlayer.UI.fillPlaylistDrawer();
			streampadPlayer.Event.add(window, 'setCurrent', streampadPlayer.UI.fillPlaylistDrawer);
			streampadPlayer.Event.add(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){
		/*try {
			streampadPlayer.vars.currentSongVO.artist = id3Object.artist;
			streampadPlayer.Playlist.array[queueNumber].artist = id3Object.artist;
		} catch (e) {}
		try {
			streampadPlayer.vars.currentSongVO.album = id3Object.album;
			streampadPlayer.Playlist.array[queueNumber].album = id3Object.album;
		} catch (e) {}
		try {
			streampadPlayer.vars.currentSongVO.songTitle = id3Object.songName;
			streampadPlayer.Playlist.array[queueNumber].songTitle = id3Object.songName;
		} catch (e) {}
		try {
			var song = document.getElementById('streampadPlaylistItemSong'+streampadPlayer.vars.queueNumber);
			song.innerHTML = id3Object.songName;
		} catch (e) {}
		try {
			var artist = document.getElementById('streampadPlaylistItemArtist'+streampadPlayer.vars.queueNumber);
			artist.innerHTML = id3Object.artist;
		} catch (e) {}
		streampadPlayer.Event.fire(window, 'setCurrent', streampadPlayer.vars.queueNumber);*/
		
	},
	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 + 146;
			if (streampadPlayer.vars.volumeDraggerY > 116){
				streampadPlayer.vars.volumeDraggerY = 116;			
			}
			if (streampadPlayer.vars.volumeDraggerY < 24){
				streampadPlayer.vars.volumeDraggerY = 24;
			}
			volDragger.style.top =  streampadPlayer.vars.volumeDraggerY+'px';
			streampadPlayer.vars.theVolume = ((streampadPlayer.vars.volumeDraggerY*-1)+116);
			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 = '0 0';
		}
	},
	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;
		}
	}
};
streampadPlayer.UI = {
	/* initilizes bottombar on bottom of page */
	init : function(){
		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');
		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){
			bottomBar.style.background = '#'+streampadPlayer.params.bgcolor;
		} else {
			bottomBar.style.background ='url('+streampadPlayer.vars.imgHOST+'bottombar-bg) repeat-x';	
		}
		if (streampadPlayer.browser.engine.trident4){
			bottomBar.style.position = 'absolute';	
		}
		streampadPlayer.Event.add(bottomBar, 'click', streampadPlayer.UI.build);
		var poweredBy = document.createElement('a');
		poweredBy.appendChild(document.createTextNode(streampadPlayer.vars.poweredBy));
		poweredBy.setAttribute('href', streampadPlayer.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadPlayer.Event.add(poweredBy, 'click', streampadPlayer.Events.poweredByClick);
		streampadPlayer.Event.add(poweredBy, 'mouseover', function(){ poweredBy.style.textDecoration = 'underline'; });
		streampadPlayer.Event.add(poweredBy, 'mouseout', function(){ poweredBy.style.textDecoration = 'none'; });
		var poweredByFontSize = 10;
		if (streampadPlayer.params.height/4 > 10){
			poweredByFontSize = streampadPlayer.params.height/4
		}
		streampadPlayer.params.poweredbycolor = '#'+streampadPlayer.params.poweredbycolor;
		streampadPlayer.Utils.setStyles(poweredBy, {'fontSize' : poweredByFontSize+'px', 'textDecoration' : 'none', 'cssFloat' : 'right', 'styleFloat' : 'right', 'margin' : (streampadPlayer.params.height/2)-(poweredByFontSize/2)+'px 20px 0 20px', 'color' : streampadPlayer.params.poweredbycolor});
		bottomBar.appendChild(poweredBy);
		if (streampadPlayer.params.showpop != 'false'){
			var popnew = document.createElement('div');
			popnew.setAttribute('id', 'streampadPopNew');
			streampadPlayer.Utils.setStyles(popnew, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '58px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.vars.imgHOST+'popupbutton) 0 0 no-repeat'});
			popnew.setAttribute('title', 'Pop this player into a new page');
			streampadPlayer.Event.add(popnew, 'click', streampadPlayer.Events.popnew);
			streampadPlayer.Event.add(popnew, 'mouseover', function(){popnew.style.backgroundPosition = '-58px 0';});
			streampadPlayer.Event.add(popnew, 'mouseout', function(){popnew.style.backgroundPosition = '0 0';});
			bottomBar.appendChild(popnew);
		}
		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 != null){
			clickToPlayText = streampadPlayer.params.clicktext.replace(/%20/g, ' ');
		}
		clickToPlay.appendChild(document.createTextNode(clickToPlayText));
		clickToPlay.setAttribute('id', 'streampadPlayerClickToPlay');
		streampadPlayer.params.trackcolor = '#'+streampadPlayer.params.trackcolor;
		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});
		bottomBar.appendChild(clickToPlay);
		if (streampadPlayer.params.clickimg == 'true'){
			var clickToPlayImg = document.createElement('div');
			clickToPlayImg.setAttribute('id', 'streampadPlayerClickToPlayImg');
			streampadPlayer.Utils.setStyles(clickToPlayImg, {'width' : '18px', 'height' : '18px', 'position' : 'absolute', 'left' : '10px', 'top' : streampadPlayer.params.height/2-11+'px', 'background' : 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_play) no-repeat'});
			bottomBar.insertBefore(clickToPlayImg, clickToPlay);
			clickToPlay.style.left = '40px';
			streampadPlayerFixPNG(clickToPlayImg);
		}
		document.body.appendChild(bottomBar);
		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.showplaylistbutton != 'false'){
			var playlistButton = document.createElement('div');
			playlistButton.setAttribute('id', 'streampadPlaylistButton');
			streampadPlayer.Utils.setStyles(playlistButton, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '58px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.vars.imgHOST+'playlistbutton) 0 0 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);
			bottomBar.appendChild(playlistButton);
		}
		if (streampadPlayer.params.showvolumebutton != 'false'){
			var volumeButton = document.createElement('div');
			volumeButton.setAttribute('id', 'streampadVolumeButton');
			streampadPlayer.Utils.setStyles(volumeButton, {'cssFloat' : 'right', 'styleFloat' : 'right', 'width' : '58px', 'height' : '30px', 'cursor' : 'pointer', 'background' : 'url('+streampadPlayer.vars.imgHOST+'volumebutton) 0 0 no-repeat', 'position' : 'relative'});
			streampadPlayer.Event.add(volumeButton, 'mouseover', streampadPlayer.Events.volumeButtonMouseOver);
			bottomBar.appendChild(volumeButton);
		}
		var controls = document.createElement('div');
		streampadPlayer.Utils.setStyles(controls, {'position' : 'absolute', 'left' : '0', 'width' : '90px', 'height' : '100%'});
		bottomBar.appendChild(controls);
		var previousTrack = document.createElement('div');
		if (streampadPlayer.browser.engine.trident4){	
			previousTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_start) no-repeat';
			streampadPlayerFixPNG(previousTrack);
			previousTrack.style.display = 'inline';
		} else {
			previousTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_sprite) no-repeat '+streampadPlayer.vars.prevImgPos;
			streampadPlayer.Event.add(previousTrack, 'mouseover', function(){ previousTrack.style.backgroundPosition = streampadPlayer.vars.prevImgPosOver;});
			streampadPlayer.Event.add(previousTrack, 'mouseout', function(){ previousTrack.style.backgroundPosition = streampadPlayer.vars.prevImgPos;});
		}
		var buttonTrackHeight = 18;
		var buttonTrackTop = (streampadPlayer.params.height-buttonTrackHeight)/2+1;
		streampadPlayer.Utils.setStyles(previousTrack, {'margin' : buttonTrackTop+'px 2px 0 10px', 'cursor' : 'pointer', 'width' : '18px', 'height' : buttonTrackHeight+'px', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		streampadPlayer.Event.add(previousTrack, 'click', streampadPlayer.Events.previousTrack);
		controls.appendChild(previousTrack);
		var playTrack = document.createElement('div');
		playTrack.setAttribute('id', 'streampadPlayTrack');
		if (streampadPlayer.browser.engine.trident4){	
			playTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_pause) no-repeat';
			streampadPlayerFixPNG(playTrack);
		} else {
			playTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_sprite) no-repeat '+streampadPlayer.vars.playImgPos;
			streampadPlayer.Event.add(playTrack, 'mouseover', function(){ playTrack.style.backgroundPosition = streampadPlayer.vars.playImgPosOver; });
			streampadPlayer.Event.add(playTrack, 'mouseout', function(){ playTrack.style.backgroundPosition = streampadPlayer.vars.playImgPos; });
		}
		streampadPlayer.Utils.setStyles(playTrack, {'margin' : buttonTrackTop-3+'px 1px 0 0', 'cursor' : 'pointer', 'width' : '24px', 'height' : '24px', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		streampadPlayer.Event.add(playTrack, 'click', streampadPlayer.Events.playTrack);
		controls.appendChild(playTrack);
		var nextTrack = document.createElement('div');
		if (streampadPlayer.browser.engine.trident4){	
			nextTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_end) no-repeat';
			streampadPlayerFixPNG(nextTrack);
		} else {
			nextTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_sprite) no-repeat '+streampadPlayer.vars.nextImgPos;
			streampadPlayer.Event.add(nextTrack, 'mouseover', function(){ nextTrack.style.backgroundPosition = streampadPlayer.vars.nextImgPosOver; });
			streampadPlayer.Event.add(nextTrack, 'mouseout', function(){ nextTrack.style.backgroundPosition = streampadPlayer.vars.nextImgPos; });
		}
		streampadPlayer.Utils.setStyles(nextTrack, {'margin' : buttonTrackTop+'px 4px 0 0', 'cursor' : 'pointer', 'width' : '18px', 'height' : buttonTrackHeight+'px', 'cssFloat' : 'left', 'styleFloat' : 'left'});
		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' : '250px', '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' : '90px', '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-600)+'px';
			document.getElementById('streampadAudioPlays').style.left = (s-350)+'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='color:"+streampadPlayer.params.poweredbycolor+";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');
		poweredBy.appendChild(document.createTextNode(streampadPlayer.vars.poweredBy));
		poweredBy.setAttribute('href', streampadPlayer.vars.poweredByLink);
		poweredBy.setAttribute('target', '_blank');
		streampadPlayer.Event.add(poweredBy, 'mouseover', function(){ poweredBy.style.textDecoration = 'underline'; });
		streampadPlayer.Event.add(poweredBy, 'mouseout', function(){ poweredBy.style.textDecoration = 'none'; });
		var poweredByFontSize = 10;
		if (streampadPlayer.params.height/4 > 10){
			poweredByFontSize = streampadPlayer.params.height/4
		}
		streampadPlayer.Utils.setStyles(poweredBy, {'fontSize' : poweredByFontSize+'px', 'textDecoration' : 'none', 'cssFloat' : 'right', 'styleFloat' : 'right', 'margin' : (streampadPlayer.params.height/2)-(poweredByFontSize/2)+'px 20px 0 20px', 'color' : streampadPlayer.params.poweredbycolor});
		bottomBar.appendChild(poweredBy);
		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');
		if (streampadPlayer.browser.engine.trident4){
			streampadPlayTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_pause) no-repeat';
			streampadPlayerFixPNG(streampadPlayTrack);
		} else {
			streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.pauseImgPos;
			streampadPlayer.Event.remove(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.playImgPosOver;});
			streampadPlayer.Event.remove(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.playImgPos;});
			streampadPlayer.Event.add(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.pauseImgPosOver;});
			streampadPlayer.Event.add(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.pauseImgPos;});
		}
	},
	/* call this to show the play button. Called when user clicks play/pause */
	showPlay : function(){
		var streampadPlayTrack = document.getElementById('streampadPlayTrack');
		if (streampadPlayer.browser.engine.trident4){
			streampadPlayTrack.style.background = 'url('+streampadPlayer.vars.imgHOST+streampadPlayer.params.btncolor+'-control_play) no-repeat';
			streampadPlayerFixPNG(streampadPlayTrack);
		} else {
			streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.playImgPos;
			streampadPlayer.Event.remove(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.pauseImgPosOver;});
			streampadPlayer.Event.remove(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.pauseImgPos;});
			streampadPlayer.Event.add(streampadPlayTrack, 'mouseover', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.playImgPosOver;});
			streampadPlayer.Event.add(streampadPlayTrack, 'mouseout', function(){ streampadPlayTrack.style.backgroundPosition = streampadPlayer.vars.playImgPos;});
		}
	},
	/* 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.UI.resize();
		return drawer;
	},
	/* Destroy the drawer */
	destroyDrawer : function(){
		var drawer = document.getElementById('streampadDrawer');
		document.body.removeChild(drawer);
	},
	/* 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' : '#F5F5F5 url('+streampadPlayer.vars.imgHOST+'drawer-left-right-divider) 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' : '#0F1030'});
		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' : '#0F1030', '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' : '#273555', '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' : '#666666', '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+'itunes-button-bg) no-repeat', 'width' : '121px', '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'});
		itunes.appendChild(document.createTextNode('Download from iTunes'));
		streampadPlayer.Event.add(itunes, 'mouseover', function(){ itunes.style.backgroundPosition = '-121px 0'; });
		streampadPlayer.Event.add(itunes, 'mouseout', function(){ itunes.style.backgroundPosition = '0 0'; });
		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+'amazon-button-bg) no-repeat', 'width' : '97px', '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'});
		amazon.appendChild(document.createTextNode('Buy on Amazon'));
		streampadPlayer.Event.add(amazon, 'mouseover', function(){ amazon.style.backgroundPosition = '-97px 0'; });
		streampadPlayer.Event.add(amazon, 'mouseout', function(){ amazon.style.backgroundPosition = '0 0'; });
		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+'playlist-header-bg) repeat-x', 'width' : '100%', 'fontSize' : '20px', 'fontFamily' : 'arial', 'fontWeight' : 'bold', 'color' : '#0F1030', '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 = '0F1030';
				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=aolmusic-20');
				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' : '17px', 'height' : '16px', 'styleFloat' : 'right', 'cssFloat' : 'right', 'background' : 'url('+streampadPlayer.vars.imgHOST+'drawer-close-button) no-repeat', 'margin' : '10px 10px 0 0', 'cursor' : 'pointer'});
			streampadPlayer.Event.add(closeButton, 'mouseover', function(){ closeButton.style.backgroundPosition = '-17px 0'; });
			streampadPlayer.Event.add(closeButton, 'mouseout', function(){ closeButton.style.backgroundPosition = '0 0'; });
			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 = '-58px 0';
		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');
		streampadPlayer.Utils.setStyles(volDiv, {'height' : '146px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'volumebg) 0 0 no-repeat', 'position' : 'fixed', 'bottom' : streampadPlayer.params.height+'px', 'left' : (x-4)+'px', 'width' : '66px', '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() - 4 - streampadPlayer.vars.marginOffsetLeft + 'px';
			} else {
				volDiv.style.left = x - streampadPlayer.Utils.getWidthMarginSize() - 4 + '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' : '10px', 'background' : 'url('+streampadPlayer.vars.imgHOST+'volumedragger) 0 0 no-repeat', 'position' : 'absolute', 'top' : streampadPlayer.vars.volumeDraggerY+'px', 'left' : '18px', 'width' : '31px', 'zIndex' : 10001, 'cursor' : 'pointer'});
		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();
	}
};
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){
    	window.clearTimeout(streampadPlayer.vars.isFlashLoaded);
    	streampadPlayer.vars.theVolume = volume;
    	streampadPlayer.vars.volumeDraggerY = (volume*-100)+116;
    	if (streampadPlayer.vars.volumeDraggerY > 116){
			streampadPlayer.vars.volumeDraggerY = 116;			
		}
		if (streampadPlayer.vars.volumeDraggerY < 24){
			streampadPlayer.vars.volumeDraggerY = 24;
		}
    	streampadPlayer.Event.fire(window, 'flashLoaded', null);
    }
};
/* 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.enclosure);
		} 
		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
	}
}
/* 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); 
				}
				array = streampadPlayer.flash.getSWF("streampadFlash").JSONEncode(array);
				array = escape(array);
				streampadPlayer.NowPlaying.meta.request(array);
				streampadPlayer.NowPlaying.meta.playlistLength = streampadPlayer.Playlist.length;
			}
		},
		request : function(data){
			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(location.protocol+'//'+location.host) +'&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);
	}
}
/* 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);
}


