	// mp3 player on artist pages
	soundManager.debugMode = false;
	soundManager.url = "anim/soundmanager2.swf";
	var isPaused = true;
	var totaltracks=0;
	
	soundManager.onload = function() {
		if (getObj("playpause")) {
			getObj("playpause").className = "paused";
			getObj("songinfo").innerHTML = "Press play to listen";
			
			var mp3_links = getObj("playlist").getElementsByTagName("a");
			for (var i=0; i<mp3_links.length; i++) {
				//if(mp3_links[i].href.match(/\.mp3getObj/i)) {
				if(m=mp3_links[i].href.match(/all\.mp3\.php/i)) {
					soundManager.createSound({
						id: 'song'+i,
						url: mp3_links[i].href,
						//url: songurl,
						onfinish: function() {
							nextsong = (cps+1);
							nextsong = 'song' + nextsong;
							playTrack(nextsong);
						},
						
						multishot: false,
						whileloading: function() {
							d = this.durationEstimate;
							dsec = Math.floor(this.durationEstimate/1000);
							dmin = Math.floor(this.durationEstimate/1000/60);
							dsec -= (dmin*60);
								if(dsec < 10) {
									dsec = "0" + dsec;
								}
						},
						
						whileplaying: function() {
							cps = this.sID;
							cps = cps.substr(4);
							cps = cps*1;
							p = this.position;
							psec = Math.floor(p/1000);
							pmin = Math.floor(p/1000/60);
							psec -= (pmin*60);
								if(psec < 10) {
									psec = "0" + psec;
								}
								if(Math.floor(this.duration/1000) == Math.floor(this.durationEstimate/1000)) {
									d = this.duration;
									dsec = Math.floor(d/1000);
									dmin = Math.floor(d/1000/60);
									dsec -= (dmin*60);
									if(dsec < 10) {
										dsec = "0" + dsec;
									}
								}
							
							getObj("position").innerHTML = pmin+":"+psec +"/"+ dmin+":"+dsec;
							ppixels = (p/d);
							ppixels = Math.floor(ppixels*240);
							ppixels = Math.floor(240 - ppixels);
							getObj("timeline").style.backgroundPosition = -ppixels + "px top";
							
						}							
						});
					mp3_links[i].className = "mp3";
					mp3_links[i].id = "song" + i;
					mp3_links[i].onclick=new Function("playTrack(this.id); return false;");
					totaltracks++;
					
				}
			}
			cps=-1;
		}	
	}
		

	playTrack = function(songID) {
		//soundManager.stopAll();
		stopAllTracks();
		showSonginfo(songID);
		soundManager.play(songID);
		isPaused = false;
		addClass(getObj(songID), "nowplaying");
		getObj("playpause").className = "playing";
	}
		
	showSonginfo = function(songID) {
//			alert(songID)
		songi = getObj(songID).innerHTML;
//			alert(songi)
		getObj("songinfo").innerHTML = songi;
	}
	
	stopAllTracks = function() {
		// remove classname nowplaying from links
		var mp3links = getElementsByClass("mp3");
		for (var i=0; i<mp3links.length; i++) {
			mp3links[i].className=mp3links[i].className.replace("nowplaying","");
		}
		cps = -1;
		getObj("position").innerHTML = "0:00/0:00";
		getObj("songinfo").innerHTML = "Press play to listen";
		getObj("playpause").className = "paused";
		soundManager.stopAll();
	}

	playNext = function() {
		if(cps+1 >= totaltracks) {
			stopAllTracks();
		} else {
			cps++;
			nextsong = 'song' + cps;
			playTrack(nextsong);
		}
		return false;
	}
		
	playPre = function() {
		if(cps-1 < 0) {
			//stopAllTracks();
			playTrack("song0");
		} else {
			cps--;
			presong = 'song' + cps;
			playTrack(presong);
		}
		return false;
	}
		
	playPause = function() {
		isPaused = !isPaused;
		if(cps >= 0) {
			nowplaying = 'song' + cps;
			soundManager.togglePause(nowplaying);
			if(isPaused==true) {
				getObj("songinfo").innerHTML = "paused...";
				getObj("playpause").className = "paused";
				
			}
			else if(isPaused==false) {
				showSonginfo(nowplaying);
				getObj("playpause").className = "playing";
				
			}
			
		}
		else {
			cps=0;
			playTrack("song0");
		}
		return false;
	}
		
	// general functions
	this.getObj = function(eID) {
		return document.getElementById(eID);
	}
				
	function getElementsByClass(searchClass,node,tag) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|getObj)');
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
	
	function addClass(element, value) {
		if (!element.className) {
			element.className = value;
		} else {
			element.className = element.className + " " + value;
		}
	}
	
